我在Gateway.php的函數(shù)onClientMessage中記錄了收到客戶端消息的時(shí)間,
也在BusinessWorker.php的onGatewayMessage中記錄了收到Gateway消息的時(shí)間,
發(fā)現(xiàn)兩者之間的時(shí)間多數(shù)情況下相等,或者相差1秒,這種應(yīng)該算是正常的
?
但是偶爾會(huì)差得比較大,3秒,4秒,最大的能到9秒
[attach]1941[/attach]
?
想問一下,可能會(huì)是哪里的問題,需要如何調(diào)試
?
有可能業(yè)務(wù)處理慢,處理某個(gè)請求時(shí)間需要幾秒,只有業(yè)務(wù)處理完后workerman才能獲得php控制權(quán),才能觸發(fā)下一個(gè)請求處理,所以onGatewayMessage延遲觸發(fā)了。
onMessage 的入口處,我加了開始時(shí)間統(tǒng)計(jì),業(yè)務(wù)結(jié)束后,我加了結(jié)束時(shí)間統(tǒng)計(jì),并沒有任何執(zhí)行時(shí)間超長的進(jìn)程,只要超過1s,我都會(huì)記錄日志,但并沒有超時(shí)進(jìn)程