請(qǐng)問大大
我在GCP上開了6個(gè)vm
1臺(tái)是GatewayWorkerman Server (8核+30G RAM) 另外5臺(tái)則是發(fā)送連線及請(qǐng)求用的vm
GatewayWorkerman Server內(nèi)核調(diào)優(yōu)及event拓展的安裝都依照官方文件設(shè)定無誤
並使用依照walkor大提供的壓測程式進(jìn)行壓測( http://wenda.workerman.net/?/question/1453 )
遇到了幾個(gè)問題如下
不知為何每臺(tái)instance最多只能對(duì)GatewayWorkerman Server建立1020個(gè)connection
(所以五臺(tái)總共5100個(gè)connection)
我一直無法把單臺(tái)機(jī)器對(duì)GatewayWorkerman Serve的connection數(shù)拉高
網(wǎng)上查了一下 能設(shè)的都設(shè)了也都重啟了 但最大connection數(shù)還是1020
不知道有沒有人有遇過一樣的問題?
所有機(jī)器的ulimit的設(shè)定如下( umlimit -a )
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 119935
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 119935
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
所有機(jī)器的sysctl.conf的設(shè)定如下( /etc/sysctl.conf -p )
net.ipv4.tcp_max_tw_buckets = 20000
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 262144
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_tw_recycle = 0
fs.file-max = 6815744
net.netfilter.nf_conntrack_max = 2621440
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
五臺(tái)機(jī)器共5100個(gè)connection
每秒ping一次GatewayWorkerman Server( 等同於每秒5100 QPS )
並且GatewayWorkerman Server接到ping後會(huì)以pong回應(yīng)
在五臺(tái)機(jī)器同時(shí)建立連線時(shí), CPU使用率會(huì)飆高至20%左右
然後CPU使用率就會(huì)開始緩緩?fù)碌?/p>
最高使用率會(huì)一直掉到10%左右後就會(huì)開始在6%~10%之間浮動(dòng)(過程大概要3~5分鐘)
如圖
想請(qǐng)問的是...
是什麼樣的原因會(huì)造成使用率"慢慢"降低?
再者..5100 QPS的CPU使用率我到底要以哪個(gè)數(shù)據(jù)當(dāng)作依據(jù)?
是一開始的20%? 還是趨近於穩(wěn)定的6% or 10%呢??
不知道有大大可以幫小弟解惑嗎?
感激不盡!!!
6臺(tái)服務(wù)器皆有安裝event拓展 也有設(shè)定內(nèi)核優(yōu)化
但發(fā)出的請(qǐng)求還是無法拉高