在性能測試的整個流程當中,監控起著至關重要的作用。因為在性能測試開始執行之後,需要即時的去觀察性能測試的各個指標是否正常,包括應用伺服器、資料庫、中介軟體等方面。一旦發現異常情況,及時修正,保證性能測試的順利進行。而且在監控當中,也可以發現系統的瓶頸,適當制止性能測試的繼續運行,保證避免重複的工作。
個人認為,首先,廣泛意義的性能測試監控,應該分階段去做,其中包括執行前、執行中和執行後的監控。
執行前:
環境搭建的時候,監控確定性能測試環境的純淨性,沒有其他資源在使用。CPU、MEM、LOA、I/O的初始值是否正常。
執行中:
監控內容包括虛擬使用者執行情況、場景狀態、事務回應時間、伺服器資源使用、作業系統和硬體的監控,此外最重要的還有測試機的運行情況,包括CPU、MEM等。是否滿足當前性能測試種類的要求,比如性能測試、壓力測試、負載測試等。
除了loadrunner等監控工具外,也可以借助於輔助工具,用來監控一些定時服務、夜間監控情況,寫一些shell腳本。
監控中可以分幾大類去監控:工具的監控、測試用例的監控、測試方法的監控、進度、以及測試環境的監控。
建議:創建監控點清單,確定監控目標。開啟監控服務,監控同時要採集資訊,以便之後的分析。確定監控資訊,同時確定監控工具。
執行後:
監控資源釋放是否正常、合理。
監控指標
性能測試的監控指標主要包括以下幾個部分:
1. 伺服器:Linux應用伺服器
具體包括CPU、Memory、Load、I/O、Disk等。
2.
資料庫:1.Mysql 2.Oracle
具體包括緩存命中、索引、單條SQL性能、資料庫執行緒數、資料池連接數等。
3.
中介軟體:1.Jboss 2. Apache
具體包括執行緒數、連接數、日誌輸出等。
4. 網路
具體包括防火牆、網卡、網線、輸送量、吞吐率等。
5. 應用服務
具體包括JVM記憶體使用和回收、JAVA記憶體使用、Full GC頻率、JAVA類裝入和卸載、日誌、執行緒運行狀態(阻塞、等待、正常運行)等。
6. 監控工具(LoadRunner)
具體包括使用者執行情況、場景狀態、事務回應時間、TPS、Load、CPU分析圖表等。
7. 測試機資源 具體包括CPU、Memory、網路、日誌輸出、磁碟空間、負載生成器評估等
監控原則:
1.確定監控目標 2.確定監控和分析資訊3.確定監控工具4.收集資料5.分析資料6調優7迴圈
監控方法:
包括Checklist法等
監控工具
包括Profiler、Jstat、Jconsole、Jmap、Jprofiler、Nmon等。
沒有留言:
張貼留言