资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

nginx+uwsgi+django优化和参数设置

最近用python写了一个web系统,用的框架是nginx + uwsgi + django + oracle。服务器用的是centos 7.

我们提供的服务有:成都做网站、成都网站制作、微信公众号开发、网站优化、网站认证、柯坪ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的柯坪网站制作公司

web API的吞吐量要求是200/s。

使用postman对单次web API调用进行测试,时间约0.5s

将吞吐量乘上每次调用的时间,计算得到总共所需的处理单元数:200 * 0.5 = 100 处理单元。

uwsgi的processes最好不要设置太大,建议设置成和cpu个数一样。我测试用的服务器4个cpu。

所以 设置 processes=4, 而 threads=处理单元数 / processes=25

用jmeter进行测试,由于 吞吐量要求是200/s,所以jmeter测试时的threads数要设置为200,或稍大于200.

以上是个人总结的经验。

如果吞吐量要求很大,或web API处理时间比较慢,按以上公式得到的threads会比较大,而且服务器的

tcp连接数都可能会超过centos的默认值,需要对应调整。

uwsgi的listen队列值要对应调大,系统内核参数 somaxconn也要跟着调大。

调整文件中的参数:/etc/sysctl.conf

net.core.somaxconn= 4000

系统能同时打开的文件数要调整, 调整文件中的参数

/etc/security/limits.conf

* soft nproc 80000

* hard nproc 80000

* soft nofile 80000

* hard nofile 80000


网页标题:nginx+uwsgi+django优化和参数设置
网页网址:http://cdkjz.cn/article/gopeds.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220