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。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注公众号,一起学习编程~