【问题标题】:Performance issue with uwsgi + flask + nginx with abuwsgi + flask + nginx 与 ab 的性能问题
【发布时间】: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% 的开销。谁能赐教?

【问题讨论】:

标签: python nginx uwsgi


【解决方案1】:

time.sleep() 时间不安全。

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

[...] 此外,由于系统中其他活动的调度,暂停时间可能比请求的长任意数量。

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 2015-11-08
    • 2012-03-31
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多