加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 低Apache / mod_wsgi吞吐量

发布时间:2020-12-16 22:19:05 所属栏目:Python 来源:网络整理
导读:我在pesto,mod_wsgi和Apache上运行了一个简单的WSGI应用程序: def viewData(request): return Response("aaaaaaaaaa" * 120000) # return 1,2MB of data 在我的测试机器上,我获得大约100kb / s的吞吐量,这意味着请求大约需要12秒才能完成.从同一个Apache实

我在pesto,mod_wsgi和Apache上运行了一个简单的WSGI应用程序:

def viewData(request):
    return Response("aaaaaaaaaa" * 120000) # return 1,2MB of data

在我的测试机器上,我获得大约100kb / s的吞吐量,这意味着请求大约需要12秒才能完成.从同一个Apache实例下载静态文件给我大约20MB / s.为什么会有这么大的差异,我怎样才能加快WSGI应用程序的速度?

软件版本:Ubuntu 10.04,Apache 2.2.14,Python 2.6.5,mod_wsgi 2.6(所有Ubuntu的默认包),pesto-18

编辑:此示例表示的真实应用程序不会尝试发送静态文件,但会动态生成大量HTML. HTML生成很快(我通过cProfile和timeit运行),但传输速度很慢,我想解决这个特定的问题.

编辑2:我在同一堆栈上测试了当前版本的pesto(21)和mod_wsgi(3.3),吞吐量没有显着变化.我还将mod_wsgi替换为spawning 0.9.5,后面是apache的mod_proxy – 这使吞吐量提高了四倍,但距离我想要的还有几英里远.

最佳答案
在WSGI中,应用程序或框架应该返回一个可迭代的.不知道这是不是Pesto做的.

将您的代码更改为:

def viewData(request):
    return Response(["aaaaaaaaaa" * 120000])

然后再试一次.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读