Gunicorn 与 Python GIL
新钛云服已累计为您分享684篇技术干货
· sync——将进程分叉成 N 个并行运行的进程来处理请求
· gthread——产生 N 个线程来并发服务请求
· eventlet/gevent——产生绿色线程来并发服务请求
Gunicorn sync worker
Gunicorn gthread worker
Gunicorn eventlet and gevent workers
相同的场景,但使用 gevent
- Greenlet A将开始运行,直到发生I/O事件或执行完毕
- Greenlet B将等待直到Greenlet A释放事件循环
- A结束
- B开始
- B释放事件循环以等待I/O
- B完成
· 更改线程上下文切换超时是否会影响服务延迟和吞吐量?
· 当您混合使用 I/O 和 CPU 工作时,如何在 gevent/eventlet 和 gthread 之间进行选择
· 如何使用 gthread worker 选择线程数
· 我应该只使用sync worker并增加分叉进程的数量来避免 GIL 吗?
使用 CPU 绑定请求对 gthread 与 gevent 延迟进行基准测试
使用 CPU 绑定请求对 gthread 与 gevent 吞吐量进行基准测试
推荐阅读
推荐视频
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章