国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

status里send_fail原因

現(xiàn)象:

運行status命令,看到有send_fail的情況,是什么原因?

答:

有send_fail通常來說不是什么大問題,一般是由于客戶端主動關(guān)閉連接或者客戶端無法接收數(shù)據(jù)導致的數(shù)據(jù)發(fā)送失敗。

send_fail有兩種原因

1、調(diào)用send接口向客戶端發(fā)送數(shù)據(jù)時發(fā)現(xiàn)客戶端已經(jīng)斷開,則send_fail計數(shù)加1。由于是客戶端主動斷開的,屬于正常現(xiàn)象,一般可以忽略。

2、服務端發(fā)送數(shù)據(jù)的速度大于客戶端接收速度,導致數(shù)據(jù)不斷的積壓在服務端緩沖區(qū)(workerman為每個客戶端建立了一個發(fā)送緩沖區(qū)),如果緩沖區(qū)大小超過限值(TcpConnection::$maxSendBufferSize默認1M)則會被丟棄,觸發(fā)onError事件(如果有的話),并導致send_fail計數(shù)加1。

例如瀏覽器最小化后js可能會暫停運行,導致瀏覽器暫停接收服務端數(shù)據(jù),數(shù)據(jù)長時間積壓在緩沖區(qū),超過限制后每次調(diào)用send都會導致send_fail計數(shù)加1。

總結(jié):

由于客戶端斷開連接導致的send_fail一般不用擔心。

如果是由于客戶端停止接收數(shù)據(jù)導致的send_fail需要檢查下客戶端是否正常。

如果客戶端接收數(shù)據(jù)速度持續(xù)低于服務端發(fā)送速度,需要考慮優(yōu)化業(yè)務流程,或者優(yōu)化客戶端性能。如果是帶寬導致發(fā)送不暢可以考慮增加服務器帶寬。

編輯于2024-03-13 17:37:19 完善本頁 +發(fā)起討論
贊助商