uWSGI + python urllib2 速度很慢

1 投票
1 回答
711 浏览
提问于 2025-04-17 15:45

我遇到了一个大问题 :) 事情是这样的:我在一台服务器上运行着两个网页应用。它们都是通过uwsgi和supervisor启动的(还有nginx)。其中一个项目(app2)通过urllib2向另一个项目(app1)发送HTTP请求。当我启动压力测试工具siege(命令是 siege -d1 -r10 -c200 http://app1.mydomain.com/test)的时候,app2就变得不响应了,所有的uwsgi工作进程都忙得不可开交。与此同时,app1在浏览器中却像没受到压力测试一样,依然能正常响应。而app2的工作进程偶尔才会忙起来。当我把那行urllib2的代码去掉后,启动测试时,所有项目都运行得很好。以下是这两个应用的uwsgi配置:

[uwsgi]
socket = /var/run/core/app1.sock
max-requests = 5000
listen = 2048
master = true
processes = 30
harakiri = 15
harakiri-verbose = 1
buffer-size = 65536
stats = /tmp/app1_stats.sock

它们的配置完全相同。请注意,我并没有对发送HTTP请求的应用进行压力测试。如果这有影响的话,所有的应用都是用Flask框架做的。谢谢。

1 个回答

0

我解决了一个问题。如果有人感兴趣的话:只需要使用urllib3库,创建一个HTTP连接池就可以了。

撰写回答