正常的HTTP請求響應碼為2XX,表示成功響應,但是測試過程中經常會遇到響應碼為5XX的情況。常見的5XX響應碼有500和502錯誤:
* 500 錯誤
原因:500錯誤表示服務器內部錯誤
案例:出現500錯誤時,服務端日志中同時會出現錯誤日志,曾經遇到的錯誤有:數據庫處理能力成為瓶頸,連接數不夠,出現get null from pool 異常,通過調整DDB 連接池的大小解決該問題。
定位方法:當遇到500錯誤時,首先查看服務端日志,通過錯誤日志信息進一步定位返回碼錯誤的原因。
* 502錯誤
原因:502錯誤是網關錯誤,同時nginx error日志中會出現(104: Connection reset by peer) while reading response header from upstream
案例:曾經一次性能測試過程中,因為并發連接數超過了nginx配置的最大連接數,導致出現502錯誤,通過調整nginx的最大連接數解決該問題。
定位方法:
出現502以及Connection reset by peer錯誤的常見原因有:
1 、并發連接數大于服務端最大連接數,服務端會將其中一些連接關閉掉;
2 、客戶關掉了瀏覽器,而服務端還在給客戶端發送數據;
當測試過程中出現該錯誤時,可以從以上幾個方面定位問題。
|