gunicorn -k 参数详解 (worker type)
网上最简单的说法:
worker_class
-k STRTING, —worker-class STRTING
要使用的工作模式,默认为sync。可引用以下常见类型“字符串”作为捆绑类:
sync
eventlet:需要下载eventlet>=0.9.7
gevent:需要下载gevent>=0.13
tornado:需要下载tornado>=0.2
gthread
gaiohttp:需要python 3.4和aiohttp>=0.21.5
看到这个我不相信你内心能有一点波澜。。。(记得选不同的模式,要下对应的包,pip install)
湾湾选手上场:
Gunicorn 在 Python 2.7 有幾種 worker type,分別是 sync、gthread、eventlet、gevent 和 tornado。
根據底層運作的原理可以將 worker 分成三種類型:
- sync 底層實作是每個請求都由一個 process 處理。
- gthread 則是每個請求都由一個 thread 處理。
- eventlet、gevent、tarnado 底層則是利用非同步 IO 讓一個 process 在等待 IO 回應時繼續處理下個請求。
还有湾湾大佬的性能测试:
总结来说:eventlet 和 gevent 非同步 IO 性能较好,能够适应高并发的压力。
还没有评论,来说两句吧...