uvicorn与gunicorn/gunicorn+meinheld性能对比

Running: uvicorn asgiproj.asgi:application -b 127.0.0.1:8001

[erm@fezzan ~]$ wrk -d20s -t10 -c200 http://127.0.0.1:8001/asgi/
Running 20s test @ http://127.0.0.1:8001/asgi/
  10 threads and 200 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    28.68ms   10.16ms  69.46ms   76.20%
    Req/Sec   700.81    130.10     4.79k    82.43%
  139697 requests in 20.10s, 19.32MB read
  Socket errors: connect 0, read 78, write 0, timeout 0
Requests/sec:   6949.09
Transfer/sec:      0.96MB

Running: gunicorn asgiproj.wsgi:application -b 127.0.0.1:8001

[erm@fezzan ~]$ wrk -d20s -t10 -c200 http://127.0.0.1:8001/wsgi/
Running 20s test @ http://127.0.0.1:8001/wsgi/
  10 threads and 200 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   115.78ms    9.45ms 170.10ms   87.99%
    Req/Sec   109.18     27.44   190.00     67.76%
  16432 requests in 20.10s, 2.98MB read
  Socket errors: connect 91, read 1145, write 22, timeout 0
Requests/sec:    817.51
Transfer/sec:    151.69KB


uvicorn asgiproj.asgi:application -w2

[erm@fezzan django-async]$ wrk -d20s -t10 -c200 http://127.0.0.1:8000/asgi/
Running 20s test @ http://127.0.0.1:8000/asgi/
  10 threads and 200 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    15.10ms    9.77ms 194.12ms   89.38%
    Req/Sec     1.34k   266.24     2.17k    72.06%
  266101 requests in 20.09s, 37.05MB read
  Socket errors: connect 0, read 177, write 0, timeout 0
Requests/sec:  13246.45
Transfer/sec:      1.84MB

gunicorn --worker-class="egg:meinheld#gunicorn_worker" asgiproj.wsgi:application -w2

[erm@fezzan django-async]$ wrk -d20s -t10 -c200 http://127.0.0.1:8000/asgi/
  wrk -d20s -t10 -c200 http://127.0.0.1:8000/wsgi/
  Running 20s test @ http://127.0.0.1:8000/wsgi/
    10 threads and 200 connections
    Thread Stats   Avg      Stdev     Max   +/- Stdev
      Latency    20.61ms   13.09ms 276.38ms   99.11%
      Req/Sec     1.00k   152.68     1.50k    72.37%
    196886 requests in 20.04s, 36.61MB read
    Socket errors: connect 0, read 169, write 0, timeout 0
  Requests/sec:   9822.61
  Transfer/sec:      1.83MB


上一篇:django gunicorn nginx配置上的坏网关


下一篇:python – 用gunicorn流式传输