当我合并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
现在,如果我仅仅通过烧瓶框架运行此测试用例而不使用ab基准测试开启uwsgi + nginx,我在31秒内收到了一个响应,预计它将属于睡眠功能。我没有得到的是当我通过uwsgi + nginx运行应用程序时,我得到的响应时间是38秒,这是25%左右的开销。谁能开导我?
答案 0 :(得分:0)
time.sleep()
不是时间安全的。
来自time.sleep(secs)
的文档:
[...]此外,由于系统中其他活动的安排,暂停时间可能比任意金额要求的时间长。