沒有業(yè)務(wù)邏輯
沒有數(shù)據(jù)庫操作
沒有redis操作
我開始以為是網(wǎng)絡(luò) 或是 nginx 或是 瀏覽器 或是 mysql的問題
結(jié)果 curl 127.0.0.1:8787 還是卡頓
有時(shí)候需要等待20秒才能響應(yīng)
情況是 :
第一次訪問需要等待15秒 然后第二次 第三次 訪問 就快了
等一段時(shí)間的第一次訪問 又會慢 然后第二次 第三次 又會快起來
把getenv也都去掉,只保留 return rsponse('hello');
另外運(yùn)行 ps auxf,看下是不是啟動了2個(gè)webman,有可能連到另外一個(gè)webman服務(wù)中去了。
還有debug方式php start.php start (不加-d)運(yùn)行,看下是否有報(bào)錯(cuò)。
1.getenvyiqudiao已去掉 但還是出現(xiàn)了
2.確實(shí)運(yùn)行了2個(gè)webman 但是區(qū)分了端口
3.debug方式 報(bào)了數(shù)據(jù)庫錯(cuò)誤 當(dāng)時(shí)這個(gè)錯(cuò)誤很奇怪 當(dāng)這個(gè)webman出現(xiàn)該卡頓的時(shí)候 另一個(gè)webman的數(shù)據(jù)庫鏈接完全正常 ,沒有任何錯(cuò)誤 而且這個(gè)webman卡頓沒有走任何數(shù)據(jù)庫業(yè)務(wù)邏輯
只要配置了數(shù)據(jù)庫,webman就會自動去連,然后定時(shí)發(fā)心跳。
卡頓的問題應(yīng)該就是連數(shù)據(jù)庫超時(shí)導(dǎo)致的。再檢查下數(shù)據(jù)庫配置,如果不需要數(shù)據(jù)庫可以將數(shù)據(jù)庫配置刪掉。
@walkor 我用gatewayworker 作消息推送,用gatewayclient和TP6對接,發(fā)消息也現(xiàn)這種情況,偶爾發(fā)送消息要等1秒多時(shí)間,但是一旦發(fā)送成功,再發(fā)就沒問題了,會是什么原因呢?
這種需要打日志自己定位,服務(wù)端把每個(gè)重要環(huán)節(jié)執(zhí)行時(shí)間記錄下來。想下服務(wù)端有沒有耗時(shí)一秒的地方
@walkor 我的這個(gè)現(xiàn)像好像不是gatewayworker的原因,我用的TP6框架,不用gateway發(fā)消息的時(shí)候也是這樣,在瀏覽器中輸入鏈接,偶爾也是要等1秒多時(shí)間才返回?cái)?shù)據(jù),只要返回成功了再訪問就很快,這是什么道理呢?