1

我们使用 uwsgi + nginx 来构建网站。最近,我们想提高我们网站的 qps,所以我们决定将 uwsgi 模式从 prefork 切换到 threaded。但我们发现了一些非常糟糕的事情。

当使用 prefork 模式,worker 设置为 5 时,我们得到的请求时间为 10-20ms。但在线程模式下(一个工作者 5 个线程),该值增加到 100-200 毫秒。这太糟糕了。

我们发现 memcache.Client 花费的时间最多,这使得请求时间增加。

请帮我知道问题出在哪里以及如何解决,谢谢!

PS:代码:import memcache client = memcache.Client(['127.0.0.1:11211']) client.get('mykey')

4

1 回答 1

0

您可能正在经历 python GIL 开销。尝试添加第二个过程以查看结果是否更好。

于 2012-07-31T05:14:56.570 回答