Skip to content

Instantly share code, notes, and snippets.

@markpapadakis
Last active June 9, 2021 13:35
Show Gist options
  • Save markpapadakis/650081d3ee8cf6d1cedc to your computer and use it in GitHub Desktop.
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
Copy link
Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment