【发布时间】:2015-03-20 20:18:15
【问题描述】:
当我合并 uwsgi 和 nginx 时,我有一个关于烧瓶应用程序性能的问题。
我的 app.view 文件如下所示:
import app.lib.test_case as test_case
from app import app
import time
@app.route('/<int:test_number>')
def test_case_match(test_number):
rubbish = test_case.test(test_number)
return "rubbish World!"
我的 app.lib.test_case 文件如下所示:
import time
def test_case(test_number):
time.sleep(30)
return None
我的 uwsgi 的 config.ini 看起来像这样:
[uwsgi]
socket = 127.0.0.1:8080
chdir = /home/ubuntu/test
module = app:app
master = true
processes = 2
daemonize = /tmp/uwsgi_daemonize.log
pidfile = /tmp/process_pid.pid
现在,如果我只是通过烧瓶框架运行这个测试用例而不打开 uwsgi + nginx,使用 ab 基准测试,我会在 31 秒内收到响应,这应该归功于 sleep 功能。我没有得到的是当我通过 uwsgi + nginx 运行应用程序时,我得到的响应时间是 38 秒,这是大约 25% 的开销。谁能赐教?
【问题讨论】:
-
我已经按照stackoverflow.com/questions/27196776/… 中的描述设置了我的 nginx + uwsgi + flask,但我没有看到 8 秒的延迟。