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

status里send_fail原因

現(xiàn)象:

運(yùn)行status命令,看到有send_fail的情況,是什么原因?

答:

有send_fail通常來(lái)說(shuō)不是什么大問(wèn)題,一般是由于客戶端主動(dòng)關(guān)閉連接或者客戶端無(wú)法接收數(shù)據(jù)導(dǎo)致的數(shù)據(jù)發(fā)送失敗。

send_fail有兩種原因

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

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

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

總結(jié):

由于客戶端斷開連接導(dǎo)致的send_fail一般不用擔(dān)心。

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

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

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