NodeJS 7 (express) Running 10s test 4 threads and 1000 connections Socket errors: connect 0, read 995, write 9, timeout 0 NodeJS 7 (http) Running 10s test 4 threads and 1000 connections Socket errors: connect 0, read 8722, write 9, timeout 0Įven though sinatra itself supplies a web server and is often considered as the de-facto web server, it is not for production. Ruby 2.4 (sinatra + thin) Running 10s test 4 threads and 1000 connections Socket errors: connect 0, read 969, write 24, timeout 0 Running 10s test 4 threads and 1000 connections Socket errors: connect 0, read 937, write 42, timeout 366 Python 3.6 (gunicorn + gevent) Running 10s test 4 threads and 1000 connections So performance will probably get better if it is used, but it's not as good as you think. I've focused on general usage, this means except for multicore languages, I didn't specify how many CPU cores to use. Rustc 1.16.0 + -release argument for code optimization.Command used to run benchmarks was wrk -t 4 -c 1000 -d 10s. I used the simple HTTP benchmarking tool wrk - agree with some of you may be saying "not the ideal tool" but it's good enough here. Important note that this benchmarking here was primarily for fun, not science. They used all these same cores and memory quota, but it's just as clearly not a huge problem. Server and client were running on the same machine. This test only covers basic "Hello World"(11 chars) response performance over the HTTP/1.1 protocol for different languages and http server implementations of it. So I made a simple benchmark to see which approach gives the best result. Web servers these days are fast enough, and I think not many people opt for the fastest web server, but instead are interested in that. This is a benchmark with comparative of performance of various well known web servers.
0 Comments
Leave a Reply. |