Jmeter性能測試系列——性能調優與回歸測試
測試結果分析完成后,即可進行性能問題確定與優化操作。通常情況下,系統出現性能問題的表象特征有以下幾種:
1.響應時間平穩但較長
測試一開始,響應時間就很長,即使減少線程數量,減少負載,場景快執行結束,響應時間仍然很長。
2.響應時間逐步變長
測試過程中,負載不變,但運行時間越長,響應時間越長,直至出現很多錯誤。
3.響應時間隨著負載變化而變化
負載增加,響應時間變長,負載減少,響應時間下降,資源使用率也下降。
4.數據積累導致鎖定
起初運行正常,但數據量積攢到一定量,立刻出現錯誤,無法消除,只能重啟系統。
5.穩定性差
特定場景或運行周期很長以后,突然出現錯誤,系統運行緩慢。

以上幾種是筆者在性能測試過程中碰到的幾種性能有問題的特征。一旦出現上述幾種情況,基本可以判定系統存在性能問題。接下來即是針對具體問題具體分析,從而發現問題并提出解決辦法。
響應時間長,系統越來越慢,出現業務錯誤,通常由以下幾種情況造成:
(1)物理內存資源不足
(2)內存泄漏
(3)資源爭用
(4)外部系統交互
(5)業務失敗時頻繁重試,無終止狀態
(6)中間件配置不合理
(7)數據庫連接設置不合理
(8)進程/線程設計錯誤
分析過程中,假設每一個猜想是正確的,然后逐一排除。
結合上述問題,本次性能測試過程中隨機瀏覽購買商品時,出現了填寫收貨地址時間變長、數據庫錯誤等問題,某些指標未能滿足預先設定,故本次性能測試不通過。
性能測試是個嚴謹的推理過程,一切以數據說話,在沒有明確證據證明系統存在性能問題的時候,千萬不可隨意調整代碼、配置、甚至是架構。因為一旦調整了,就必須重新開展功能及性能回歸測試,而且可能影響現網業務。
性能調優后,需做功能及性能的回歸測試,從而保證調優活動正確完成,且未造成額外的影響。

