gunicorn+Django有哪些好的生产级别设置可以实现最大吞吐量?

2024-05-15 13:53:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的申请使用的是gunicorn+django。由于我的应用程序没有任何静态内容可供服务,所以我暂时不使用nginx。(我使用的是MacBookPro—8GB内存,2.7GHz,Intel i5)

我做的唯一一个场景是为了古尼康-

import multiprocessing
bind = '127.0.0.1:8000'
limit_request_line = 0
backlog = 2048
workers = multiprocessing.cpu_count() * 2 + 1
loglevel = 'critical'

我使用“jmeter”做了一些负载测试,方法是在我的django应用程序中点击一个非常简单的控制器,它只回显查询参数(实际上不需要计算)。在

我观察到大约560个请求/秒。这是我们能得到的最好的技术堆栈吗?我甚至尝试过“eventlet”和“gevent”都没有成功。在

我用Play框架做了一个类似的实验,在默认配置下能够达到750请求/秒。在

但是,当我试着

^{pr2}$

我可以得到更好的性能,但这种配置感觉不对。在

python这么慢还是我犯了一些错误?在

更新:

我尝试在nginx后面使用gunicorn,并能够实现一些改进。请求/秒从560提高到632。谢谢丹尼尔的建议。但这仍然没有接近我的目标。我在django/gunicorn缺少一些配置吗?在


Tags: django内存import应用程序内容bind场景静态