Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmarks? vs. Nginx, Boost, etc. #522

Closed
VinnyVicious opened this issue Oct 29, 2018 · 5 comments
Closed

Benchmarks? vs. Nginx, Boost, etc. #522

VinnyVicious opened this issue Oct 29, 2018 · 5 comments

Comments

@VinnyVicious
Copy link

Are there any benchmarks comparing Seastar and other popular alternatives for creating servers with C++? Nginx modules, Boost.Asio are the fastest and most modular options out there.

@DePizzottri
Copy link

I've recently done some benchmarks comparing Seastar's httpd example vs. boost.beast example vs. naked epoll with busy loop.
Here's the results:

HTTP benchmark Hetzner

Host CX31 / 80 GB / nbg1-dc3 2VCPU
Wrk CX21 / 40 GB / nbg1-dc3 2VCPU

  • sudo ./seastar_http
Running 3m test @ http://xxx.xxx.xxx.xxx:8080/
  2 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.74ms    1.55ms  43.08ms   94.39%
    Req/Sec    30.11k     4.28k   44.96k    67.89%
  Latency Distribution
     50%    1.43ms
     75%    1.91ms
     90%    2.63ms
     99%    7.97ms
  10784397 requests in 3.00m, 0.98GB read
Requests/sec:  59890.36
Transfer/sec:  5.60MB
  • sudo ./seastar_http --poll-mode
Running 3m test @ http://xxx.xxx.xxx.xxx:8080/
  2 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.48ms   1.17ms 210.27ms   94.01%
    Req/Sec    33.43k     4.61k   48.23k    67.12%
  Latency Distribution
     50%    1.30ms
     75%    1.67ms
     90%    2.20ms
     99%    5.45ms
  11976634 requests in 3.00m, 1.09GB read
Requests/sec:  66501.23
Transfer/sec:  6.22MB
  • sudo ./seastar_http --poll-mode --lock-memory 1
Running 10m test @ http://xxx.xxx.xxx.xxx:8080/
  2 threads and 500 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.31ms    2.55ms 229.40ms   78.30%
    Req/Sec    37.45k     4.43k   65.02k    69.10%
  Latency Distribution
     50%    6.01ms
     75%    7.48ms
     90%    9.15ms
     99%   13.42ms
  44712311 requests in 10.00m, 4.08GB read
Requests/sec:  74509.51
Transfer/sec:  6.96MB
  • ./boost_beast_async 0.0.0.0 8080 . 2
Running 10m test @ http://xxx.xxx.xxx.xxx:8080/
  2 threads and 500 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     7.03ms   2.85ms 228.01ms   80.90%
    Req/Sec    34.02k     3.80k   49.70k    68.33%
  Latency Distribution
     50%    6.66ms
     75%    8.22ms
     90%   10.02ms
     99%   15.36ms
  40610084 requests in 10.00m, 3.71GB read
Requests/sec:  67673.00
Transfer/sec:  6.32MB
  • ./epoll (2 cores)
Running 10m test @ http://xxx.xxx.xxx.xxx:8080/
  2 threads and 500 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     5.99ms   2.50ms 225.14ms   76.94%
    Req/Sec    38.83k     5.42k   59.14k    68.34%
  Latency Distribution
     50%    5.68ms
     75%    7.18ms
     90%    8.91ms
     99%   13.22ms
  46347215 requests in 10.00m, 4.01GB read
Requests/sec:  77239.14
Transfer/sec:  6.85MB

@nyh
Copy link
Contributor

nyh commented Nov 3, 2018 via email

@VinnyVicious
Copy link
Author

@DePizzottri would you be willing to share the sources of that benchmark?

@DePizzottri
Copy link

Answered in mail list.

@avikivity
Copy link
Member

Not a bug, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants