系统最大文件句柄数
查看
cat /proc/sys/fs/file-max
修改
vim /etc/sysctl.conf
修改成fs.file-max=1000000
立即生效
sysctl-p
单进程打开的最大句柄数
查看
ulimit-a
修改
vi /etc/security/limits.conf
修改成
soft nofile 1000000
hard nofile 1000000
TCP/IP相关参数调优
参数介绍
net.ipv4.tcp_rmem:为每个TCP连接分配的读缓冲区内存大小。第一个值是socket接收缓冲区分配的最小字节数。第二个值是默认值,缓冲区在系统负载不高的情况下可以增长到该值。第三个值是接收缓冲区分配的最大字节数。
net.ipv4.tcp_wmem:为每个TCP连接分配的写缓冲区内存大小。第一个值是socket发送缓冲区分配的最小字节数。第二个值是默认值,缓冲区在系统负载不高的情况下可以增长到该值。第三个值是发送缓冲区分配的最大字节数。
net.ipv4.tcp_mem:内核分配给TCP连接的内存,单位是page(1个page通常为4096字节,可以通过#getconf PAGESIZE命令查看),包括最小、默认和最大三个配置项。
net.ipv4.tcp_keepalive_time:最近一次数据包发送与第一次keep alive探测消息发送的时间间隔,用于确认TCP连接是否有效。
tcp_keepalive_intvl:在未获得探测消息响应时,发送探测消息的时间间隔。
tcp_keepalive_probes:判断TCP连接失效连续发送的探测消息个数,达到之后判定连接失效。
net.ipv4.tcp_tw_reuse:是否允许将TIME_WAIT Socket重新用于新的TCP连接,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle:是否开启TCP连接中TIME_WAIT Socket的快速回收功能,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout:套接字自身关闭时保持在FIN_WAIT_2状态的时间,默认为60。
50万请求为例
修改参数
vi /etc/sysctl.conf
net.ipv4.tcp_mem=64608 1048576 2097152
net.ipv4.tcp_rmem=4096 87380 4194304
net.ipv4.tcp_wmem=4096 87380 4194304
net.ipv4.tcp_keepalive_time=1800
tcp_keepalive_intvl=20
tcp_keepalive_probes=5
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout=30
生效
sysctl-p
评论区