[svc]linux内核参数

内核参数 说明
net.ipv4.tcp_max_syn_backlog = 2048 增大队列SYN最大半连接数; 对于那些依然还未获得客户端确认的连接请求,需要保存在队列中最大数目。默认值是1024,可提高到2048。
net.ipv4.tcp_tw_reuse = 1 开启重用; 是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接,即开启重用。默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1 开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 修改系統默认的 TIMEOUT 时间; 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。默认值为 60 秒。

tcp_tw_recycle打开后, 在NAT网络可能会出现connection time out错误.

ab测试tw

centos7默认允许tw 4096个

[root@n1 shell]# sysctl -a |grep tcp_max_tw_buckets
net.ipv4.tcp_max_tw_buckets = 4096
[root@n1 ~]# ab -c 1000 -n 10000 http://192.168.14.11/

-c 并发
-n 总共发多少个包

nginx的

keepalive_timeout 65; 改为0测试.

[root@n1 shell]# ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
LISTEN 3
ESTAB 3
TIME-WAIT 4096

keepalive_timeout 65;时候

参考:
Nginx设置Keep-Alive为close
超实用压力测试工具-ab工具
你所不知道的TIME_WAIT和CLOSE_WAIT
为什么TIME_WAIT这么多

linux 调优 Linux内核参数详解-说的比较容易理解
linux内核参数注释与优化

阿里云centos环境之被dos,syn攻击策略和排查方法,持续更新

IPsec VPN 服务器一键安装脚本对内核的优化

cat >> /etc/sysctl.conf <<EOF

# Added by hwdsl2 VPN script
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = $SHM_MAX
kernel.shmall = $SHM_ALL

net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.$net_iface.send_redirects = 0
net.ipv4.conf.$net_iface.rp_filter = 0

net.core.wmem_max = 12582912
net.core.rmem_max = 12582912
net.ipv4.tcp_rmem = 10240 87380 12582912
net.ipv4.tcp_wmem = 10240 87380 12582912
EOF
posted @ 2018-03-08 15:42  _毛台  阅读(330)  评论(0编辑  收藏  举报