1.背景
使用ab进行压测,发现使用gunicorn后,服务性能反而下降了,这是ab结果:
压测命令:$ ab -c 10 -n 1000 -p post.txt -T application/json http://0.0.0.0:5000/b/embedding
| 条件 | 处理每条请求所用时间(均值) | 90%时间 | |
| 不用gunicorn | 9.918ms |
121 |
|
| 使用gunicorn:work=2 | 54ms |
929 |
看到这,有点怀疑gunicorn的作用了,适得其反了。晚上查了一些gunicorn配置的优化,解决了这个性能 问题,并提速30%+。接下来看看什么原因导致服务性能下降,然后这个问题的解决方案是什么。
2.为什么会有“慢客户端行为”带来的服务性能降低问题?
[1]服务器和客户端的通信,我们简略的分为三个部分:request,request handling,和response,即客户端向服务器发起请求,服务器端响应并处理请求,和将请求结果返回客户端,这三个过程。
通常,request handling这部分即服务端的计算,拼

本文探讨了使用Gunicorn部署服务时遇到的性能下降问题,并详细分析了“慢客户端行为”如何影响服务性能。通过调整Gunicorn配置,如worker数量、线程数及使用异步模式等,最终实现了性能提升。

5万+

被折叠的 条评论
为什么被折叠?



