some AB testing ...

Pierre Sahores sc at sahores-conseil.com
Tue Feb 9 02:08:57 EST 2016


Yes, as long as the tests are done against simple « Hello World » alike queries. In real world, with SQL well urbanized db, we have to expect that all performance (Openresty ones included) will slow down from 35% (very cleanly modeled applications + sql back-ends) to the infinite (sad ones, alike those using, in the PHP world, Symphony2 or unreliable db models designs).

About size and needed processing on the datas, the application server will stay very responsive and scalable along loads as long as the SQL back-end will be designed to get the best from its own (one request peer view including complex joints each time it’s possible).

> Le 9 févr. 2016 à 04:46, Matt Maier <blueback09 at gmail.com> a écrit :
> 
> Is that the maximum theoretical value? The actual connections per second
> would depend on the size of the data and how much processing it needs,
> right?
> 
> Also, what is Livecode Application Server?

Mainly a Livecode standalone (+ accessories : templates engines, JS frameworks, etc…) receiving requests on a TCP socket entry point, handling the preparation of the response in querying/writing the needed datas from/to the SQL back-end before sending it back to the client via the socket.
> 
> On Mon, Feb 8, 2016 at 4:04 PM, Pierre Sahores <sc at sahores-conseil.com>
> wrote:
> 
>> Hi Livecoders,
>> 
>> Story made short : Appart the amazing Lua platform (preferably set as an
>> Openresty one), well configured LC application’s servers still outperforms
>> anything available around (Websphere, Tomcat, PHP5/7, Perl5, NodeJS, Go,
>> Python, RoR,…). In-between, LC application’s server is 60 times faster than
>> the stock’s Livecode CGI Server. Using Nginx as the load balancer of the
>> same LC app running on clustered front-end servers can make a very reliable
>> scalable configuration : 1500 connections for each server added to the
>> cluster. In taking care to scale the ACID-SQL backend cluster as attendee,
>> the platform can handle very high-end solutions at a fraction of the cost
>> of more known main stream proposals.
>> 
>> What the story don’t tell is that the still mono-theaded LC engine don’t
>> crashes nor slowdown against heavy loads where Java powered ones does
>> (mostly because Java’s heap space shared memory unreliability and the cache
>> misconfiguration surprises) and PHP too, because too many unreliable
>> frameworks used in front of it (Symphony 2, etc…).
>> 
>> ...
>> 
>>        upstream proxy_cluster {
>> 
>>                # Test protocol : ab -c 100 -n 5000 http://192.168.1.15/
>> #(ApacheBench 2.3 Revision 1528965)
>>                # LC CGI Server = Livecode Server (community and
>> commercial editions) MacOSX version 7.1.1
>>                # LC App Server = Livecode commercial standalone MacOSX
>> 6.6.5 (note : 7.1.1 35% slower)
>>                # PHP sockets proxy = TCP sockets client proxying REST
>> GET/POST requests to LC App Server
>>                # eeePCU = Asus X200CA 1.5 Ghz Ubuntu 14.04 + multi web
>> configs on ports 80 to 84 (see below)
>>                # MBPi24 = MacBook Pro i5 2.4 Ghz running Apache 2.4.16 +
>> Apache 2.0 Handler + PHP 5.6.17
>>                # MBPi25 = MacBook Pro i5 2.5 Ghz running Apache 2.4.16 +
>> Apache 2.0 Handler + PHP 5.6.17
>> 
>>                #server localhost:80;           # eeePCU : Nginx +
>> FCGIWrap + LC CGI Server             -->     25 conn/sec
>>                #server localhost:81;           # eeePCU : OpenLiteSpeed
>> CGI + LC CGI Server    -->     25 conn/sec
>>                #server localhost:82;           # eeePCU : Apache 2.4.7
>> CGI + LC CGI Server             -->     25 conn/sec
>> 
>>                #server 192.168.1.21:80;        # MBPi24 : Apache 2.4.16
>> CGI + LC CGI Server            -->     25 conn/sec
>>                #server 192.168.1.25:80;        # MBPi25 : Apache 2.4.16
>> CGI + LC CGI Server            -->     25 conn/sec
>> 
>>                #server localhost:80;           # eeePCU : Nginx +
>> FCGIWrap + Perl 5.18.2
>>                                                                # + Perl
>> sockets proxy --> 192.168.1.25:9578
>>                                                                # --> LC
>> 6.6.5 APP Server (MBPi525)                             -->     40 conn/sec
>> 
>>                #server 192.168.1.21:80;        # MBPi24 : PHP sockets
>> proxy + LC APP Server            -->   125 conn/sec
>>                #server 192.168.1.25:80;        # MBPi25 : PHP sockets
>> proxy + LC APP Server            -->   125 conn/sec
>>                #server 192.168.1.25:80;        # MBPi25 : FastCGI
>> EAppClass + LC APP Server            -->   125 conn/sec
>> 
>>                #server localhost:84;           # eeePCU : Nginx +
>> FMP/FastCGI + PHP 5.5.9              -->   700 conn/sec
>>                #server localhost:82;           # eeePCU : Apache 2.4.7 +
>> A 2.0 + PHP 5.5.9             -->   800 conn/sec
>>                #server localhost:81;           # eeePCU : OpenLiteSpeed +
>> V6.8 + PHP 5.6.14            --> 1000 conn/sec
>> 
>>                #server localhost:80;           # eeePCU : Nginx +
>> FMP/FastCGI + PHP 5.5.9
>>                                                                # + PHP
>> sockets proxy --> 192.168.1.25:9578
>>                                                                # --> LC
>> 6.6.5 APP Server (MBPi525)                             --> 1500 conn/sec
>> 
>>                server localhost:81;                    # eeePCU :
>> OpenLiteSpeed + V6.8 + PHP 5.6.14
>>                                                                # + PHP
>> sockets proxy --> 192.168.1.21:9578
>>                                                                # --> LC
>> 6.6.5 APP Server (MBPi524)                             --> 1500 conn/sec
>> 
>>                server localhost:82;                    # eeePCU : Apache
>> 2.4.7 + A 2.0 + PHP 5.5.9
>>                                                                # + PHP
>> sockets proxy --> 192.168.1.25:9578
>>                                                                # --> LC
>> 6.6.5 APP Server (MBPi525)                             --> 1500 conn/sec
>> 
>>                #server localhost:82;           # eeePCU : Apache 2.4.7 +
>> mod_lua                               --> 2500 conn/sec
>>                #server localhost:80;           # eeePCU : OpenResty
>> 1.9.7.2 + LUAJit 5.1.a             --> 8000 conn/sec
>> 
>>        }
>> 
>> ...
>> 
>> Cheers,
>> 
>> --
>> Pierre Sahores
>> mobile : 06 03 95 77 70
>> www.sahores-conseil.com
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

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





More information about the use-livecode mailing list