Using ab as below, with simple echo “Hello World” on 1.86GHz, 4 Go ram ubuntu saucy linux server.
ab -n 10000 -c 200 http://localhost/
py2.7tornado 741 req/s
uwsgi 1172 req/s
tornado+uwsgi 1221.19 req/s
apache-modwsgi-scriptalias 2226.71 req/s
nginx+uwsgi 2330.29 req/s
openresty 3481.70 req/s
apache+mod_php+php5 1515.54 req/s
nginx+php-fpm 2173.90 req/s
vert.x 492.78 req/s
node (v0.10) 1054.92 req/s
python+fapws3 1158.33 req/s
A note, this bench just explain how those servers (not the languages) handle concurrent requests on a low-entry hosting. It does not compare features or languages. But I note the very impressive performance from openresty, and I must say that openresty provide a full Web+static+SSL+Websocket server with a very simple installation.
I’m quite suprised by vert.x performance since I saw in different posts that it was a high performance framework. Clearly my setup lack of optimization.
Right now Nuitka is a good replacement for the Python interpreter and compiles every construct that CPython 2.6, 2.7, 3.2 and 3.3 offer. It translates the Python into a C++ program that then uses “libpython” to execute in the same way as CPython does, in a very compatible way.
It is somewhat faster than CPython already, but currently it doesn’t make all the optimizations possible, but a 258% factor on pystone is a good start (number is from version 0.3.11).
By maintaining a transactional record of every API call to S3, MimicDB provides a local, isometric key-value store of data on S3. MimicDB stores everything except the contents of objects locally. Tasks like listing, searching and calculating storage usage on massive amounts of data are now fast and free.
On average, tasks like these are 2000x faster using MimicDB.
This is probably the most painful bug report I’ve ever read, describing in glorious technicolor the steps leading to Knight Capital’s $465m trading loss due to a software bug that struck late last year, effectively bankrupting the company.
The tale has all the hallmarks of technical debt in a…