部分服务器需要用到,任何的TCP/IP调优参数都位于/proc/sys/net/目录。
一、数据接收缓冲
[root@localhost ~]# cat /proc/sys/net/core/rmem_max
212992
[root@localhost ~]# cat /proc/sys/net/core/wmem_max
212992
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_timestamps
1
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_sack
1
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_window_scaling
1
参考文献:
https://blog.csdn.net/qiushanjushi/article/details/42743211
http://blog.chinaunix.net/uid-7177878-id-127435.html
二、高并发网络优化(连接跟踪表)
proc/sys/net/ipv4/netfilter/ip_conntrack_max 改大到 268435456 默认只有65536 (这个就是连接跟踪表,一味的改大反而会增加系统的负载,一般来讲默认值也够,正确的优化方向是加快连接的关闭释放资源,我这只是在优化初期临时改大。注意/proc/sys/net/ipv4/ip_conntrack_max的值要大于这个值)
6.echo “1800″ > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
默认确立连接会在5天后失效,改为半小时后失效,减少ip_conntrack的有效连接数量。
7.echo 1 > /proc/sys/net/ipv4/tcp_syncookies
防范SYN DDOS攻击,打开TCPsyncookies,CENTOS4以上的内核是支持的。
8.echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
SYN列队长度,不要设置太高,会消耗相应的内存。
9.echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
SYN重试次数。
10.echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
SYN重试次数。
默认
[root@localhost ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
432000
[root@localhost ~]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max
65536
[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_synack_retries
5
参考修改为:
echo “134217728” >/proc/sys/net/ipv4/netfilter/ip_conntrack_max
echo “1800” > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo “2048” > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo “3” > /proc/sys/net/ipv4/tcp_syn_retries
echo “3” > /proc/sys/net/ipv4/tcp_synack_retries
参考文献:https://www.cnblogs.com/wuchanming/p/4028341.html
三、Ring Buffer (溢出也会导致丢包或不稳定)
如:
ethtool -S eth1|grep rx_fifo
rx_fifo_errors: 150957
发生很多错误。
修改方案:
[root@localhost ~]# ethtool -g eth1
Ring parameters for eth1:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 256
[root@localhost ~]# ethtool -G eth1 rx 4096 tx 4096 //设置为最大
[root@localhost ~]# ethtool -g eth1
Ring parameters for eth1:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
参考文献:https://www.cnblogs.com/276815076/p/5736272.html