nginx服务器的内核调优


TCP公有类


net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_max_orphans = 262144

net.core.somaxconn:系统能同时发起的TCP连接数。
net.core.netdev_max_backlog:当网络接口处理数据包的速度比内核处理数据包的速度要快时,可以发送到队列的数据包数目。
net.ipv4.ip_local_port_range:系统能打开的端口范围。
net.ipv4.tcp_keepalive_time:当keepalive启用时,TCP发送keepalive消息的频度,单位为小时。
net.ipv4.tcp_max_orphans:设置系统最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤立连接将被复位并输出警告信息,这个限制只是为了防止简单的Dos攻击。不能过分依赖这个限制甚至认为减少这个值,更多情况是增加这个值。

TCP的sync类


net.ipv4.tcp_synack_retries= 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_synack_retries:内核放弃建立连接之前所发送的SYN+ACK包的数量。
net.ipv4.tcp_syn_retries:内核放弃建立连接之前所发送的SYN包的数量。
net.ipv4.tcp_syncookies:当出现SYN队列溢出时,启用cookies进行处理。
net.ipv4.tcp_max_syn_backlog:记录尚未收到客户端确认信息的连接请求最大值。

TCP的fin类


net.ipv4.tcp_fin_timeout = 1

net.ipv4.tcp_fin_timeout:决定套接字保持在FIN-WAIT-2状态的时间,单位时间是秒。

TCP的timewait类


net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 6000

net.ipv4.tcp_tw_recycle:启用timewait快速回收。
net.ipv4.tcp_tw_recycle:启用后允许TIME-WAIT的套接字用于新的TCP连接。
net.ipv4.tcp_max_tw_buckets:设定timewait的数量





原文地址:https://www.cnblogs.com/tsw1107/p/60744c8d0cab8a37f60aeacc910b0438.html