Nginx、uvicorn、gunicorn 的 Socket Listen 队列大小是多少?
nginx、uvicorn、gunicorn 的 socket listen 队列大小
问题:
nginx、uvicorn、gunicorn 等 http 服务器的 socket 监听队列有多大?
回答:
- uvicorn: 默认 2048
- gunicorn: 默认 2048
- nginx: 默认 511
深入探讨 nginx
nginx 的 listen 队列实际上称为 backlog,它是指内核中维护的一个队列,用于存放未处理的连接请求。在 linux 系统中,backlog 的默认值受限于 net.core.somaxconn 系统参数,一般为 128。
要查看 net.core.somaxconn 的值,使用命令:
sysctl net.core.somaxconn
要修改此参数,使用命令:
sudo sysctl -w net.core.somaxconn=<new_value>
建议谨慎修改此参数,因为它可能会影响其他应用程序的性能。要永久修改,请将其添加到配置文件(例如 /etc/sysctl.conf)中。
在 ubuntu 22.04 中,net.core.somaxconn 默认值已增加到 4096。
以上就是Nginx、uvicorn、gunicorn 的 Socket Listen 队列大小是多少?的详细内容,更多请关注硕下网其它相关文章!