uwsgi + flask + nginx与ab的性能问题

时间:2015-01-22 05:47:04

标签: python nginx uwsgi

当我合并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%左右的开销。谁能开导我?

1 个答案:

答案 0 :(得分:0)

time.sleep()不是时间安全的。

来自time.sleep(secs)的文档:

  

[...]此外,由于系统中其他活动的安排,暂停时间可能比任意金额要求的时间长。