从品牌网站建设到网络营销策划,从策略到执行的一站式服务
最近用python写了一个web系统,用的框架是nginx + uwsgi + django + oracle。服务器用的是centos 7.
成都创新互联专注于企业营销型网站建设、网站重做改版、扎鲁特旗网站定制设计、自适应品牌网站建设、H5高端网站建设、成都做商城网站、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为扎鲁特旗等各大城市提供网站开发制作服务。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
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图