天天看點

LR雜記 - 性能測試名額及經常使用的監控工具

監控名額

性能測試通常須要監控的名額包含:

1.serverLinux(包含CPU、Memory、Load、I/O)。

2.資料庫:1.Mysql 2.Oracle(緩存命中、索引、單條SQL性能、資料庫[/url]線程數、資料池連接配接數)。

3.中間件:1.Jboss 2. Apache(包含線程數、連接配接數、日志)。

4.網絡: 吞吐量、吞吐率。

5.應用: jvm記憶體、日志、Full GC頻率。

6.監控 工具 ( LoadRunner [/url]):使用者運作情況、場景狀态、事務響應時間、TPS等。

7.測試機資源:CPU、Memory、網絡、磁盤空間。

監控工具

性能測試通常採用下列工具進行監控:

1.Profiler。

一個記錄log的類,

阿裡巴巴 集團自主 開發 ,嵌入到 應用 代碼 中使用。

2.Jstat。監控 java [/url]程序GC情況。推斷GC是否正常。

3.JConsole。監控java記憶體、java CPU使用率、線程運作情況等,須要在JVM參數中進行配置。

4.JMap。監控java程式是否有記憶體洩漏。須要配合eclipse插件或者MemoryAnalyzer來使用。

5.JProfiler。全面監控每一個節點的CPU使用率、記憶體使用率、響應時間累計值、線程運作情況等,須要在JVM參數中進行配置。

6.Nmon。

全面監控linux系統資源使用情況。包含CPU、記憶體、I/O等,可獨立于應用監控。

7.Valgrind。監控C/C++程式是否存在記憶體洩漏,基于linux環境。

8.Vmmap和ApplicationVerifier。監控C/C++程式是否存在記憶體洩漏。基于windows環境。

性能分析

可按下面順序:

中間件瓶頸(apache/jboss參數配置、資料庫參數配置)->

應用服務的debug log ->

應用服務的filter log ->

本應用的性能瓶頸(SQL語句、索引、業務邏輯、線程池設定、算法)->

服務提供者的性能瓶頸 ->

相關聯的底層存儲應用的性能瓶頸

分析标準

通過性能名額的表現形式。分析性能是否穩定。比方:

1.響應時間是否符合性能預期,表現是否穩定。

2.應用日志中。逾時的機率,是否在可接受的範圍之内。

3.TPS維持在多大的範圍内,是否有波形出現,标準差有多少。是否符合預期。

4.serverCPU、記憶體、load是否在合理的範圍内,等等。

分析工具

對于部分性能名額。可借助自己主動分析工具。統計出資料的整體趨勢:

1.LoadRunner analysis

LoadRunner analysis是loadrunner的一個部件,用于将執行過程中所採集到的資料生成報表,主要用于採集TPS、響應時間、server資源使用情況等變化趨勢。

2.Memory Analyzer

Memory Analyzer工具能夠解析Jmap dump出來的記憶體資訊。查找是否有記憶體洩漏。

3.nmon_analyser

nmon工具能夠採集server的資源資訊。列出CPU、MEM、網絡、I/O等資源名額的使用情況。