被压测服务器需要保持100W长连接,客户和服务器端是通过socket通讯的,每个连接需要建立一个socket,程序需要保持100W长连接就需要单个程序能打开100W个文件句柄
ulimit -n
ulimit -n 1000000
通过修改配置文件的方式修改程序最大打开句柄数
root soft nofile 1040000
root hard nofile 1040000
root soft nofile 1040000
root hard nproc 1040000
root soft core unlimited
root hard core unlimited
soft nofile 1040000
hard nofile 1040000
soft nofile 1040000
hard nproc 1040000
soft core unlimited
hard core unlimited
修改完成以后需要重启机器配置才能生效
修改系统级别文件句柄数量
file-max的值需要大于limits设置的值
cat /proc/sys/fs/file-max
12553500
设置sockets连接参数
vim /etc/sysctl.conf
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216
sysctl -p 修改配置以后使得配置生效命令