部署了一個(gè)webman測(cè)試環(huán)境,Workerman version:4.1.4 PHP version:7.2.34
發(fā)現(xiàn)會(huì)出現(xiàn)間歇性卡頓,一般是一段時(shí)間沒(méi)有訪問(wèn)之后,再次訪問(wèn),會(huì)卡住很久幾十秒。再之后一些訪問(wèn)就正常了。看業(yè)務(wù)日志,卡住的那個(gè)請(qǐng)求,實(shí)際請(qǐng)求耗時(shí)很短,感覺(jué)是過(guò)了很久才把請(qǐng)求任務(wù)分配到達(dá)代碼中。
主要的配置如下
upstream test {
server 127.0.0.1:8787;
keepalive 10240;
}
location /api/test {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://test;
}
}
Workerman version:4.1.4 PHP version:7.2.34
把 config/server.php
里 count
設(shè)置為1,restart重啟。
執(zhí)行 php start.php status 找到,webman進(jìn)程pid假設(shè)是123
第二天或者你說(shuō)的很久之后,執(zhí)行 strace -ttp 123,訪問(wèn)頁(yè)面,如果出現(xiàn)卡頓看下strace結(jié)果就能定位到了。
有可能是連數(shù)據(jù)庫(kù) redis之類的超時(shí)了。