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

Add other servers implementations to benchmark #6

Open
dbalabka opened this issue Apr 30, 2017 · 2 comments
Open

Add other servers implementations to benchmark #6

dbalabka opened this issue Apr 30, 2017 · 2 comments

Comments

@dbalabka
Copy link
Owner

dbalabka commented Apr 30, 2017

Swoole is an event-driven, asynchronous & concurrent networking communication engine with higher performance written only in C for PHP. Swoole includes components for different purposes: TCP/UDP Server and Client, Task Worker, Database Connection Pooling, Millisecond Timer, Event, Async IO, Async Http/WebSocket Client, Async Redis Client, Async MySQL Client, and Async DNS Requiring. With these components, Swoole allows you to build many features, which are widely used in the applications about Internet, mobile communication, enterprise software, cloud computing, online game, IoT, IoV, and smart home, etc. For IT development group, it can improve the efficiency, which makes them focus on the innovational products.

http://www.swoole.com/

Workerman An asynchronous event driven PHP framework for easily building fast, scalable network applications. Supports HTTP, Websocket, SSL and other custom protocols. Supports libevent, HHVM, ReactPHP.

https://github.com/walkor/Workerman

Express.js Fast, unopinionated, minimalist web framework for node.

https://github.com/expressjs/express

@dbalabka dbalabka changed the title Add Swoole PHP extensions for testing Add other servers implementations for benchmark Oct 21, 2017
@dbalabka dbalabka changed the title Add other servers implementations for benchmark Add other servers implementations to benchmark Oct 21, 2017
@dbalabka
Copy link
Owner Author

I have added Swoole implementation:
https://github.com/torinaki/aerys-benchmark/tree/master/swoole
Swoole performing well and even outperform NodeJS, but it seems I've to adjust settings for 1 core utilization only:
#15

@dbalabka
Copy link
Owner Author

It seems that Swoole performing x2 faster than NodeJS and Amp:

  1. Swoole v4.2.1 (with 1 worker):
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     2.92ms  468.29us   7.99ms   86.22%
    Req/Sec    34.25k     1.79k   41.81k    74.67%
  Latency Distribution
     50%    2.97ms
     75%    3.15ms
     90%    3.30ms
     99%    3.79ms
  1022313 requests in 30.01s, 202.79MB read
Requests/sec:  34070.79
Transfer/sec:      6.76MB
  1. NodeJS v8.12.0
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.78ms   17.12ms 304.88ms   99.07%
    Req/Sec    18.93k     1.69k   20.08k    97.67%
  Latency Distribution
     50%    5.19ms
     75%    5.32ms
     90%    5.53ms
     99%   19.36ms
  567143 requests in 30.33s, 111.96MB read
Requests/sec:  18699.55
Transfer/sec:      3.69MB
  1. amphp/http-server-0.8
Running 30s test @ http://localhost:8080/
  1 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     6.58ms    1.86ms 166.38ms   99.44%
    Req/Sec    15.34k   306.43    16.20k    68.33%
  Latency Distribution
     50%    6.53ms
     75%    6.64ms
     90%    6.72ms
     99%    6.98ms
  457996 requests in 30.00s, 90.41MB read
Requests/sec:  15265.20
Transfer/sec:      3.01MB

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

1 participant