web性能監(jiān)控與分析
性能測試需要使用不同的工具,結(jié)合系統(tǒng)日志,監(jiān)控服務(wù)器、應(yīng)用等方面的多項指標(biāo)。以下闡述監(jiān)控指標(biāo)、監(jiān)控工具、瓶頸分析。
服務(wù)端監(jiān)控指標(biāo)
性能測試通常需要監(jiān)控的指標(biāo)包括:
服務(wù)器 Linux(包括CPU、Memory、Load、I/O)。
數(shù)據(jù)庫:Mysql(緩存命中、索引、單條SQL性能、數(shù)據(jù)庫線程數(shù)、數(shù)據(jù)池連接數(shù))。
中間件:1.tomcat 2、nginx 3、memcache(包括線程數(shù)、連接數(shù)、日志)。
網(wǎng)絡(luò): 吞吐量、吞吐率。
應(yīng)用: jvm內(nèi)存、日志、Full GC頻率。
客戶端監(jiān)控指標(biāo)
LoadRunner:用戶執(zhí)行情況、場景狀態(tài)、事務(wù)響應(yīng)時間、TPS、吞吐量等。
測試機資源:CPU、Memory、網(wǎng)絡(luò)、磁盤空間。
常用監(jiān)控工具
Jstat
監(jiān)控java 進(jìn)程GC情況,判斷GC是否正常。
JConsole
監(jiān)控java內(nèi)存、javaCPU使用率、線程執(zhí)行情況等,需要在JVM參數(shù)中進(jìn)行配置。
JMap
監(jiān)控java程序是否有內(nèi)存泄漏,需要配合eclipse插件或者M(jìn)emoryAnalyzer來使用。
JProfiler
全面監(jiān)控每個節(jié)點的CPU使用率、內(nèi)存使用率、響應(yīng)時間累計值、線程執(zhí)行情況等,需要在JVM參數(shù)中進(jìn)行配置。
Nmon
全面監(jiān)控linux系統(tǒng)資源使用情況,包括CPU、內(nèi)存、I/O等,可獨立于應(yīng)用監(jiān)控。
Probe
全面監(jiān)控tomcat的線程、內(nèi)存、JVM CPU 使用率、OS 和 JVM內(nèi)存使用率、交換區(qū)使用率、每30秒內(nèi)接收到的請求數(shù)目等等
Memadim
1. 服務(wù)器參數(shù)監(jiān)控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新
2.服務(wù)器性能監(jiān)控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監(jiān)控
3.支持?jǐn)?shù)據(jù)遍歷,方便對存儲內(nèi)容進(jìn)行監(jiān)視
4.支持條件查詢,篩選出滿足條件的KEY或VALUE
性能分析
分析信息來源
5.監(jiān)控工具所采集的信息。包括TPS、響應(yīng)時間、用戶并發(fā)數(shù)、JVM內(nèi)存、Full GC頻率、tomcat連接數(shù),數(shù)據(jù)sql執(zhí)行時間、memcache的命中率、nginx的連接數(shù)等。
6.應(yīng)用服務(wù)器的日志。包括錯誤日志、超時日志等。
7.項目配合人員所提供的信息。包括DBA提供的數(shù)據(jù)庫監(jiān)控信息、開發(fā)人員提供的代碼邏輯信息。
分析標(biāo)準(zhǔn)
1.通過性能指標(biāo)的表現(xiàn)形式,分析性能是否穩(wěn)定。比如:
2.響應(yīng)時間是否符合性能預(yù)期,表現(xiàn)是否穩(wěn)定。
3.應(yīng)用日志中,超時的概率,是否在可接受的范圍之內(nèi)。
8.TPS維持在多大的范圍內(nèi),是否有波形出現(xiàn),標(biāo)準(zhǔn)差有多少,是否符合預(yù)期。
9.服務(wù)器CPU、內(nèi)存、load是否在合理的范圍內(nèi),等等。
分析工具
對于部分性能指標(biāo),可借助自動分析工具,統(tǒng)計出數(shù)據(jù)的總體趨勢:
1、LoadRunner analysis 分析
LoadRunneranalysis是loadrunner的一個部件,用于將運行過程中所采集到的數(shù)據(jù)生成報表,主要用于采集TPS、響應(yīng)時間、吞吐量、服務(wù)器資源使用情況等變化趨勢。
2、Memory Analyzer分析
Memory Analyzer工具可以解析Jmap dump出來的內(nèi)存信息,查找是否有內(nèi)存泄漏。
3、nmon_analyser分析
nmon工具可以采集服務(wù)器的資源信息。列出CPU、MEM、網(wǎng)絡(luò)、I/O等資源指標(biāo)的使用情況。
4、MONyog分析
通過此工具我們能夠跟蹤到執(zhí)行比較慢的sql語句,并且可以分析出sql語句執(zhí)行時掃描的行數(shù),使用的索引情況。
性能測試需要使用不同的工具,結(jié)合系統(tǒng)日志,監(jiān)控服務(wù)器、應(yīng)用等方面的多項指標(biāo)。以下闡述監(jiān)控指標(biāo)、監(jiān)控工具、瓶頸分析。
服務(wù)端監(jiān)控指標(biāo)
性能測試通常需要監(jiān)控的指標(biāo)包括:
服務(wù)器 Linux(包括CPU、Memory、Load、I/O)。
數(shù)據(jù)庫:Mysql(緩存命中、索引、單條SQL性能、數(shù)據(jù)庫線程數(shù)、數(shù)據(jù)池連接數(shù))。
中間件:1.tomcat 2、nginx 3、memcache(包括線程數(shù)、連接數(shù)、日志)。
網(wǎng)絡(luò): 吞吐量、吞吐率。
應(yīng)用: jvm內(nèi)存、日志、Full GC頻率。
客戶端監(jiān)控指標(biāo)
LoadRunner:用戶執(zhí)行情況、場景狀態(tài)、事務(wù)響應(yīng)時間、TPS、吞吐量等。
測試機資源:CPU、Memory、網(wǎng)絡(luò)、磁盤空間。
常用監(jiān)控工具
Jstat
監(jiān)控java 進(jìn)程GC情況,判斷GC是否正常。
JConsole
監(jiān)控java內(nèi)存、javaCPU使用率、線程執(zhí)行情況等,需要在JVM參數(shù)中進(jìn)行配置。
JMap
監(jiān)控java程序是否有內(nèi)存泄漏,需要配合eclipse插件或者M(jìn)emoryAnalyzer來使用。
JProfiler
全面監(jiān)控每個節(jié)點的CPU使用率、內(nèi)存使用率、響應(yīng)時間累計值、線程執(zhí)行情況等,需要在JVM參數(shù)中進(jìn)行配置。
Nmon
全面監(jiān)控linux系統(tǒng)資源使用情況,包括CPU、內(nèi)存、I/O等,可獨立于應(yīng)用監(jiān)控。
Probe
全面監(jiān)控tomcat的線程、內(nèi)存、JVM CPU 使用率、OS 和 JVM內(nèi)存使用率、交換區(qū)使用率、每30秒內(nèi)接收到的請求數(shù)目等等
Memadim
1. 服務(wù)器參數(shù)監(jiān)控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新
2.服務(wù)器性能監(jiān)控:GET、DELETE、INCR、DECR、CAS等常用操作命中率實時監(jiān)控
3.支持?jǐn)?shù)據(jù)遍歷,方便對存儲內(nèi)容進(jìn)行監(jiān)視
4.支持條件查詢,篩選出滿足條件的KEY或VALUE
性能分析
分析信息來源
5.監(jiān)控工具所采集的信息。包括TPS、響應(yīng)時間、用戶并發(fā)數(shù)、JVM內(nèi)存、Full GC頻率、tomcat連接數(shù),數(shù)據(jù)sql執(zhí)行時間、memcache的命中率、nginx的連接數(shù)等。
6.應(yīng)用服務(wù)器的日志。包括錯誤日志、超時日志等。
7.項目配合人員所提供的信息。包括DBA提供的數(shù)據(jù)庫監(jiān)控信息、開發(fā)人員提供的代碼邏輯信息。
分析標(biāo)準(zhǔn)
1.通過性能指標(biāo)的表現(xiàn)形式,分析性能是否穩(wěn)定。比如:
2.響應(yīng)時間是否符合性能預(yù)期,表現(xiàn)是否穩(wěn)定。
3.應(yīng)用日志中,超時的概率,是否在可接受的范圍之內(nèi)。
8.TPS維持在多大的范圍內(nèi),是否有波形出現(xiàn),標(biāo)準(zhǔn)差有多少,是否符合預(yù)期。
9.服務(wù)器CPU、內(nèi)存、load是否在合理的范圍內(nèi),等等。
分析工具
對于部分性能指標(biāo),可借助自動分析工具,統(tǒng)計出數(shù)據(jù)的總體趨勢:
1、LoadRunner analysis 分析
LoadRunneranalysis是loadrunner的一個部件,用于將運行過程中所采集到的數(shù)據(jù)生成報表,主要用于采集TPS、響應(yīng)時間、吞吐量、服務(wù)器資源使用情況等變化趨勢。
2、Memory Analyzer分析
Memory Analyzer工具可以解析Jmap dump出來的內(nèi)存信息,查找是否有內(nèi)存泄漏。
3、nmon_analyser分析
nmon工具可以采集服務(wù)器的資源信息。列出CPU、MEM、網(wǎng)絡(luò)、I/O等資源指標(biāo)的使用情況。
4、MONyog分析
通過此工具我們能夠跟蹤到執(zhí)行比較慢的sql語句,并且可以分析出sql語句執(zhí)行時掃描的行數(shù),使用的索引情況。
本文僅代表作者觀點,版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請在文中注明來源及作者名字。
免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時與我們聯(lián)系進(jìn)行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com





