Listen queue size is greater than the system max net.core.somaxconn (128)解决
背景
迁移一个nginx+uwsgi+django项目,在uwsgi启动时报错。
错误
启动日志中的错误:Listen queue size is greater than the system max net.core.somaxconn (128)
解决
- 错误的提示很清楚,再加上网上一搜,就知道是uwsgi的配置文件中的listen的值设置太大了,超过系统默认值128,报错
- 但是网上全部是改uwsgi的listen参数的,都是说把listen的值改得比128小就行了。但是,项目有项目的要求,如果项目希望同时连接数超过128怎么办呢?
- 找了一下,需要修改/proc/sys/net/ipv4/tcp_max_syn_backlog /proc/sys/net/core/somaxconn这两个文件,修改方法 root权限, echo 8912 > /proc/sys/net/ipv4/tcp_max_syn_backlog 即可。当然,具体数字根据机器性能和项目要求确定。