【jmeter知識】03_jmeter接口報Read timed out +ng日志499分析


背景

進行ws的登錄壓測時,在高並發下很容易出現WebSocket I/O error: Read timed out,需要分析產生的原因。

 

分析過程

1、jmeter查看結果樹

 

2、jmeter請求體,發現Response(read) timeout(ms)字段,填寫了6000ms,即6s。遍歷了下查看結果樹中的報錯請求,發現果然Load time 時間大於6S的,均報了Response message: WebSocket I/O error: Read timed out。初步定為是此字段導致。

 

 

 

 3、由於業務接口暫時達不到6s返回的標准,這里先不糾結,把Response(read) timeout(ms)字段,改成20000ms,重新跑一遍,再次測試,沒有發現WebSocket I/O error: Read timed out的報錯。

 

結論

本次的WebSocket I/O error: Read timed out,為jmeter腳本接口返回斷言時間設置不合理導致(哈哈,其實是之前設置的我忘了,這里做下記錄)。但是WebSocket I/O error: Read timed out有無其他報錯原因,暫時不得而知,后面遇到再補充。

 

20210506補充

在上述操作后,重新壓測,發現ng偶爾出現499日志。經分析如下:

ng日志中查看499有8條:

 

在jmeter日志(保存下來的用表格查看結果)中超過20S的read timed out剛好也有8條,結合之前的腳本已經被設置響應時間超時為20s,推測這兩個的關聯。

 

 網上查詢一下,發現

 499對應的是 “client has closed connection”。這很有可能是因為服務器端處理的時間過長,客戶端“不耐煩”了。

因此推斷,在jmeter腳本設置20s超時后,由於服務器在20內沒有響應返回,在20s后jmeter主動關閉了連接,導致服務器ng的日志記錄499。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM