问题场景
django+uwsgi+nginx,在centos7下进行压测报错
解决方案
针对该问题,需要从服务器和web服务器两方进行参数修改
- 服务器参数修改
注: 这里直接修改配置文件了,重启后仍然有效。
修改/etc/sysctl.conf文件,添加或者修改这几个参数值
#对于一个高负载 web服务环境来说,默认的 128 太小
net.core.somaxconn = 65535
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_syn_backlog = 8192
#网卡设备将请求放入队列的长度
net.core.netdev_max_backlog = 65536
修改完成之后要记得 sysctl -p 重新加载参数
- uwsgi参数修改
不管是配置,还是命令行加一个选项,例如 .ini 文件中添加如下配置
,然后重启应用,重新加载配置。
listen=10240