Siege benchmarks for Pierre

Pierre Sahores sc at sahores-conseil.com
Sun Mar 27 19:17:20 EDT 2016


Hi Richard,

Good stuff, this siege, is’t ? Probably more readable than Apache Bench. Stay tuned. I will be back soon with more to share : advanced testing against a real word web application with up to seventy PostgreSQL calls per request (ways to setup best pg urbanization but the goal was in this case to test the app’s ability to resist to heavy loads) the results will probably seems amazing at some point :

LiveCode application’s server outperforms LuaJIT with an ability to deliver 80 transactions/second (per core/socket binding) where the Lua version of the same web app deliver 13 connections/second only in the same conditions.

It’s not surprising at all as LuaJIT runs the Lua version of this app in FASTCGI mode (process started from RAM) where the Livecode one don’t restart at all for each socket’s incoming request and, even, is able to cache in hash tables redundant PostgreSQL responses (active cache application level proxy).

I’m, at this time, porting my Livecode’s application’s server to Lua (srLua should be used) to see if this implementation will become as fast as the LC original. It should be the case … or not. I expect to publish both the LC and Lua versions of those application’s servers on GITHUB as GPL3 (Livecode) and MIT (Lua) licensed stuff as soon as the second one will be up and running.

The more i can say at this point, is that Tomcat7, JBoss2 and PHP5.6 are definitively the turtles of the competition :

- Ubuntu / Openresty / Lua round-robin proxy and TCP sockets gateway / Livecode Application Server / PostgreSQL : 80 t/s per server’s core
- Ubuntu / Openresty / PHP round-robin proxy and TCP sockets gateway / Livecode Application Server / PostgreSQL : 14 t/s per server’s core
- Ubuntu / Openresty / Lua Web Application (server page mode) / PostgreSQL : 13 t/s per server’s core
- Ubuntu / Openresty / FASTCGI / Livecode CGI server / PostgreSQL : 10 t/s per server’s core

note 1 : My Tomcat7’s and JBoss2 first tests went so low performant that i stopped to code the Java’s implementations of the test app (Scala code is not really a pleasure to write, to the end...) as soon as i could seen that they would never do best than PHP…
note 2 : While MySQL/MariaDB running the InnoDB engine are able to be 3 times faster than PostgreSQL 9.5 against atomic requests in read mode, PostgreSQL become up to 8 times faster than MySQL/MariaDB as soon as real world requests (READ with Inner joints, full text search in vector mode, etc…) are served. In about write mode requests, PostgreSQL outperforms for years MySQL and, even Oracle 8i to 11g (can’t say about 12c) …
note 3 : Livecode and Lua shares 90% of their concepts and anyone coding in one of them should be very confortable in the other one in some hours. The main difference i can see is that some tierce-party Lua modules are not reliable at all (some DB drivers and Json parsers, at least) while in using trusty sourced ones only, development cycles are just as fast an reliable as they are in using Livecode.
note 4 : Openresty (Nginx + LuaJIT + native RDBMS drivers and lots more) outperforms definitively Apache as a Livecode or Lua server side platform. Its speed and security model (WAF using locations and IP/Port rules, etc…) are just amazing and no far from perfect, conceptually speaking. A pleasure to work with !

Cheers,

Pierre
--
Pierre Sahores
mobile : 06 03 95 77 70
www.sahores-conseil.com





More information about the use-livecode mailing list