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 删除。