Nginx 必须要调整的参数以及线上推荐的最优配置:
backlog=8192;
worker_processes auto;
worker_rlimit_nofile 10240;
worker_connections 10240;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300s;
keepalive_requests 1000000;
建议其他调整的参数:
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
Nginx 的机器,一般都是独立的机器,因此不建议采用默认 irqbalance 的自动绑定,而是要设置 smp_affinity、smp_affinity_list
的值来自动绑定。
非常关键的一点,就是不能重复绑定,网卡队列和 CPU 一定要一对一绑定,一般来说就是一个队列要绑定一个 CPU。对于万兆网卡,如果队列数超过了 CPU 核数,那么我们可以把网卡队列数调整为 CPU 核数,然后一对一绑定;一定要注意,通过 一个网卡队列需要并只能绑定到一个 CPU 上,不能绑定到多个 CPU 上,否则不会生效。
Linux nf_conntrack 是 Linux 网络相关的核心参数,sysctl 可以查看 conntrack 相关的所有数据:
sysctl -a | grep conntrack
echo 20000 > /sys/module/nf_conntrack/parameters/hashsize
Nginx 机器的推荐设置如下:
echo 32768 > /proc/sys/net/core/somaxconn
echo 819200 > /proc/sys/net/ipv4/tcp_max_syn_backlog
/etc/security/limits.conf
文件原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。