linux服務(wù)器部署了一個(gè)tcp服務(wù),需要進(jìn)行并發(fā)壓力測試? 看看服務(wù)器能支持多少個(gè)tcp長連接? ?預(yù)計(jì)會有50w個(gè)連接
需要設(shè)置linux 不然是無法支持這么多連接的? ?如果達(dá)到這個(gè)值是無法建立新連接的? 報(bào)錯(cuò)信息一般為? too many open files
?
1 ,?fs.file-max?linux系統(tǒng)能打開的文件句柄數(shù)量? 這個(gè)要增大? 默認(rèn)(65535)肯定是不夠的
查看命令? sysctl -a | grep -a "fs.file-max"
設(shè)置
? ? echo "fs.file-max = 2100000" >> /etc/sysctl.conf? ?//設(shè)置為110w
sysctl -p? //立即生效
?
2 ,ulimit? ?控制用戶級別能打開的文件句柄數(shù)量?
? ? 查看命令? ulimit -n
設(shè)置? ulimit -n 1000000? //設(shè)置為100w 臨時(shí)生效
?
? ? 永久生效方法? ?vim? /etc/security/limits.conf
? ? ? ? ? ? ? ? ? ? ? ? ? ? *? hard? nofile? 1000000? //不要超過一百萬 值要小于? nr_open
* soft? ?nofile? ?1000000
? ? 重啟服務(wù)器永久生效
* 如果要超過一百萬 還需要設(shè)置一個(gè)? /proc/sys/fs/nr_open? 進(jìn)程級別能打開的文件句柄數(shù)量? (linux內(nèi)核2.6.25及之后? 之前是無法設(shè)置的)
查看? ? cat /proc/sys/fs/nr_open? ? 默認(rèn)值為 1048576? ?即1024*1024?
設(shè)置? ? echo "fs.nr_open =? 1500000"? >>? /etc/sysctl.conf? ?要小于fs.file-max
sysctl -p? 使修改生效命令