costajob / app-servers

App Servers benchmarked for: Ruby, Python, JavaScript, Dart, Elixir, Java, Crystal, Nim, GO, Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Alternative NodeJS HTTP Server

ohenepee opened this issue · comments

I stumbled upon this which serves as a replacement for the standard library's http module. It claims high performance and efficiency.

Also, could you add a second benchmark for low-end specs (1 Core CPU + 512MB)... I guess that would speak a lot since most individuals/devs (except maybe startups) won't go in for full blown 16GB server until significant traffic is noticed.

Hi ohenepee,

i tried out turbo-http: unfortunately it doesn't wrap the pre-forking model granted by the cluster module and doesn't seem to support it either (it throws a 'address already in use' error on each process).

Using a single process the throughput is, comprehensively, worst than standard server clustered:

Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.81ms  272.02us  12.41ms   91.28%
    Req/Sec    13.85k     0.89k   19.24k    92.10%
  1658307 requests in 30.10s, 117.03MB read
Requests/sec:  55092.16
Transfer/sec:      3.89MB

Also consider i tried to rely on standard libraries when possible.

Regarding a minimal slice: i should rely on virtualization to limit server specs, but network does not behave nicely with the wrk tool.
Check memory consumption by the way: none of the servers consume the whole available 16GB of memory (consumed in part by the benchmarking tool), so you should have an approximation of what will happen on a less capable device.

Best

Thanks very much pal... I appreciate the fact that you actually tried.

However concerning the minimal slice, I actually was concerned about the number of cores... I mean how well do these servers perform on single cores, which happens to be cheap on the VPS market.