常用效能監控指標
效能測試需要使用不同的工具,結合系統日誌,監控伺服器、應用等方面的多項指標。以下闡述監控指標、監控工具、瓶頸分析。
服務端監控指標
效能測試通常需要監控的指標包括:
伺服器 Linux(包括CPU、Memory、Load、I/O)。
資料庫:Mysql(快取命中、索引、單條SQL效能、資料庫執行緒數、資料池連線數)。
中介軟體:1.tomcat 2、nginx 3、memcache(包括執行緒數、連線數、日誌)。
網路: 吞吐量、吞吐率。
應用: jvm記憶體、日誌、Full GC頻率。
客戶端監控指標
LoadRunner:使用者執行情況、場景狀態、事務響應時間、TPS、吞吐量等。
測試機資源:CPU、Memory、網路、磁碟空間。
常用監控工具
Jstat
監控java 程序GC情況,判斷GC是否正常。
JConsole
監控java記憶體、javaCPU使用率、執行緒執行情況等,需要在JVM引數中進行配置。
JMap
監控java程式是否有記憶體洩漏,需要配合eclipse外掛或者MemoryAnalyzer來使用。
JProfiler
全面監控每個節點的CPU使用率、記憶體使用率、響應時間累計值、執行緒執行情況等,需要在JVM引數中進行配置。
Nmon
全面監控linux系統資源使用情況,包括CPU、記憶體、I/O等,可獨立於應用監控。
Probe
全面監控tomcat的執行緒、記憶體、JVM CPU 使用率、OS 和 JVM記憶體使用率、交換區使用率、每30秒內接收到的請求數目等等
Memadim
1. 伺服器引數監控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時重新整理
2. 伺服器效能監控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監控
3. 支援資料遍歷,方便對儲存內容進行監視
4. 支援條件查詢,篩選出滿足條件的KEY或VALUE
效能分析
分析資訊來源
5. 監控工具所採集的資訊。包括TPS、響應時間、使用者併發數、JVM記憶體、Full GC頻率、tomcat連線數,資料sql執行時間、memcache的命中率、nginx的連線數等。
6. 應用伺服器的日誌。包括錯誤日誌、超時日誌等。
7. 專案配合人員所提供的資訊。包括DBA提供的資料庫監控資訊、開發人員提供的程式碼邏輯資訊。
分析標準
1.通過效能指標的表現形式,分析效能是否穩定。比如:
2.響應時間是否符合效能預期,表現是否穩定。
3.應用日誌中,超時的概率,是否在可接受的範圍之內。
8. TPS維持在多大的範圍內,是否有波形出現,標準差有多少,是否符合預期。
9. 伺服器CPU、記憶體、load是否在合理的範圍內,等等。
分析工具
對於部分效能指標,可藉助自動分析工具,統計出資料的總體趨勢:
1、LoadRunner analysis 分析
LoadRunneranalysis是loadrunner的一個部件,用於將執行過程中所採集到的資料生成報表,主要用於採集TPS、響應時間、吞吐量、伺服器資源使用情況等變化趨勢。
2、Memory Analyzer分析
Memory Analyzer工具可以解析Jmap dump出來的記憶體資訊,查詢是否有記憶體洩漏。
3、nmon_analyser分析
nmon工具可以採集伺服器的資源資訊。列出CPU、MEM、網路、I/O等資源指標的使用情況。
4、MONyog分析
通過此工具我們能夠跟蹤到執行比較慢的sql語句,並且可以分析出sql語句執行時掃描的行數,使用的索引情況。