-
-
Save markpapadakis/650081d3ee8cf6d1cedc to your computer and use it in GitHub Desktop.
Interconnect: LAN(1GB) | |
Server: 12 core Xeon E5-2620 at 2Ghz, 16GB RAM | |
Client running on idle node with similar h/w configuration. Used latest wrk2 release | |
https://github.com/giltene/wrk2 | |
Tried different configuration options, results for configuration that gave best results | |
See also: https://gist.github.com/markpapadakis/dee39f95a404edfb8d6c | |
# Apache2: http://10.5.5.20/index.html | |
Requests/sec: 83704.15 | |
> More or less expected that kind of throughput | |
# h2o: http://10.5.5.20:8087/hello.html | |
Requests/sec: 310725.04 | |
> Very good results | |
# gwan: http://10.5.5.20:8080/hello.html | |
Requests/sec: 352548.58 | |
> It beat all other 3d party web servers in https://gist.github.com/markpapadakis/dee39f95a404edfb8d6c | |
> but didn’t do as well in this configuration | |
# nginx: http://10.5.5.20:82/index.html | |
Requests/sec: 281760.75 | |
> Very respectable. Better than previous benchmark. | |
> It’s not as fast as others in this list, but it’s very fast and support, community, modules, configurability | |
> make up for it. | |
# nxweb: http://10.5.5.20:8055/hello.html | |
Requests/sec: 397224.45 | |
> Very fast, the fastest 3d party web server. Look into it. | |
# monkey: http://10.5.5.20:2001/hello.html | |
Requests/sec: 250870.94 | |
> Good results. Code is well structured, easy to understand its implementation design. | |
# lwan : https://github.com/lpereira/lwan (compiled in release mode/configuration) | |
Running 10s test @ http://10.5.5.20:8080/hello | |
10 threads and 1000 connections | |
Thread Stats Avg Stdev Max +/- Stdev | |
Latency 4.58s 2.73s 9.72s 57.66% | |
Req/Sec -nan -nan 0.00 0.00% | |
3621396 requests in 9.99s, 818.51MB read | |
Requests/sec: 362356.80 | |
# LightHTTPD: http://10.5.5.20:83/hello.html | |
Requests/sec: 32735.10 | |
> This is consistently slow. Avoid | |
# Link: http://10.5.5.20:8090/hello.html | |
Requests/sec: 434931.64 | |
> Our s/w load balancer, in heavy use here. A major rewrite that should | |
> give us some 10-20% improvement in the works. | |
# httpSrv: http://10.5.5.20:1027/hello.html | |
Requests/sec: 511935.80 | |
> Our purprose-built webserver; very minimal functionality (static files). | |
> Still, faster than any other tested. |
@markpapadakis how big is this hello.html
file?
Where can i find this httpSrv? I would like to give it a go.
Hello @frankmullerl
This is no longer around but for what it’s worth, my latest take on this ( on the same hardware ) managed 78k RPS on a single OS thread ( should scale linearly with number of (reactor) cores).
Hi, thanks for your summary about performance of various web server and interesting approach about httpSrv
.
I've read yours article on medium and wonder do you publish or can I get the source code of httpSrv
?
@eecheng87 Hello! That's not really around anymore, and furthermore, we have since adopted io_uring and a different approach for parsing HTTP request header which resulted in a substantial improvement in performance.
That code is not OSS yet, but it will likely be included in a project we mean to open source soon. Sorry about that.
Sure, what would you like to know?