Simply increasing the uwsgi's listen backlog using the -l
or --listen
option (as pointed by user4815162342) while starting the server, to a value greater than 128 might stop uwsgi from starting up. There is also a system level limit on Unix socket and TCP connection listen queue, whose default is 128, that needs to be increased.
You can verify that setting like this:
cat /proc/sys/net/core/somaxconn
uwsgi has been patched such that if the value passed to --listen
parameter while starting uwsgi is greater than the system level limit, it'll cause uwsgi to fail hard. If you want set uwsgi's listen queue limit greater than the system level limit, you must first increase the kernel's limit. That can be done executing the following commands:
$ echo 4096 > /proc/sys/net/core/somaxconn
Or
$ sysctl -w net.core.somaxconn=4096
Or, add net.core.somaxconn=4096
to /etc/sysctl.conf
for it to persist through a reboot.