一、軟體效能測試需要監控哪些關鍵指標?
軟體效能測試的目的主要有以下三點:
ø 評價系統當前效能,判斷系統是否滿足預期的效能需求。
ø 尋找軟體系統可能存在的效能問題,定位效能瓶頸並解決問題。
ø 判定軟體系統的效能表現,預見系統負載壓力承受力,在應用部署之前,評估系統效能。
而對於使用者來說,則最關注的是當前系統:
ø 是否滿足上線效能要求?
ø 系統極限承載如何?
ø 系統穩定性如何?
因此,針對以上效能測試的目的以及使用者的關注點,要達到以上目的並回答使用者的關注點,就必須首先執行效能測試並明確需要收集、監控哪些關鍵指標,通常情 況下,效能測試監控指標主要分為:資源指標和系統指標,如下圖所示,資源指標與硬體資源消耗直接相關,而系統指標則與使用者場景及需求直接相關。
能測試監控關鍵指標說明:
ø資源指標
cpu使用率:指使用者程序與系統程序消耗的cpu時間百分比,長時間情況下,一般可接受上限不超過85%。
記憶體利用率:記憶體利用率=(1-空閒記憶體/總記憶體大小)*100%,一般至少有10%可用記憶體,記憶體使用率可接受上限為85%。
磁碟i/o:磁碟主要用於訪問資料,因此當說到io操作的時候,就會存在兩種相對應的操作,存資料的時候對應的是寫io操作,取資料的時候對應的是是讀io操作,一般使用% disk time(磁碟用於讀寫操作所占用的時間百分比)度量磁碟讀寫效能。
網路頻寬:一般使用計數器bytes total/sec來度量,bytes total/sec表示為傳送和接收位元組的速率,包括幀字元在內。判斷網路連線速度是否是瓶頸,可以用該計數器的值和目前網路的頻寬比較。
ø系統指標:
併發使用者數:某一物理時刻同時向系統提交請求的使用者數。
事務成功率:效能測試中,定義事務用於度量乙個或者多個業務流程的效能指標,如使用者登入、儲存訂單、提交訂單操作均可定義為事務,如下圖所示:
單位時間內系統可以成功完成多少個定義的事務,在一定程度上反應了系統的處理能力,一般以事務成功率來度量,計算公式如下所示:
超時錯誤率:主要指事務由於超時或系統內部其它錯誤導致失敗佔總事務的比率。
二、如何監控關鍵指標?
ø資源指標監控
主要針對各伺服器系統平台(windows、linux、unix等)資源使用進行監控。
可以使用系統自帶的效能監控工具或者第三方工具進行監控,如windows系統自帶的「系統效能監視器」,如下圖所示:
linux系統下,free、vmstat、sar、iostat等命令監控記憶體、cpu、磁碟io等的使用情況,如下圖所示:
第三方監控工具,如spotlight,spotlight是quest公司開發的一款可以針對多種系統平台及資料庫進行監控的視覺化工具,如下圖所示:
nmon是ibm提供的監控aix和linux系統資源的免費工具,可以對收集的資源資訊通過excel進行統計分析形成直觀的統計圖,如下圖所示:
ø系統指標監控
系統指標監控一般通過效能測試工具(如loadrunner、jmeter等)以圖形化方式監控,如下圖所示,併發使用者數與平均響應時間關係圖。
三、如何分析監控的關鍵指標?
通過第二部分監控收集到效能度量關鍵指標,如何進行分析,並判斷是否存在效能瓶頸呢?以下主要從資源指標與系統指標兩方面進行闡述。
ø資源指標分析
判斷cpu是否是瓶頸的方法:一般情況下cpu滿負荷工作,有時候並不能判定為cpu出現瓶頸,比如linux 總是試圖要cpu盡可能的繁忙,使得任務的吞吐量最大化,即cpu盡可能最大化使用。因此,一般判斷cpu為瓶頸,主要從兩方面:一是cpu空閒持續為 0,二是執行佇列大於cpu核數(經驗值3-4倍),即可判定存在瓶頸,對於cpu高消耗主要由什麼引起的,可能是應用程式不合理造成,也可能是硬體資源 不足,需要具體問題具體分析,比如問題sql語句引起,則需要跟蹤並優化引起cpu使用過高的sql語句。
判斷記憶體是否是瓶頸的方法:一般至少有10%可用記憶體,記憶體使用率可接受上限為85%。當空閒記憶體變小時,系統開始頻繁地調動磁碟頁面檔案,空閒記憶體過小可能是記憶體不足或記憶體洩漏引起,需要根據系統實際情況監控分析。
判斷磁碟i/o是否是瓶頸的方法:磁碟i/o對於資料庫伺服器、檔案伺服器、流**伺服器系統來說,更容易成為瓶頸,一般從以下幾個方面對磁碟i/o進行分析判斷:
① 計算每磁碟i/o數
每磁碟i/o數可用來與磁碟的i/o能力進行對比,如果經過計算得到的每磁碟i/o數超過了磁碟標稱的i/o能力,則說明確實存在磁碟的效能瓶頸,每磁碟i/o計算方法如下表:
raid型別
計算方法
raid0
(reads+writes)/numbers of disks
raid1
(reads+2*writes)/2
raid5
[reads+(4*writes)] /numbers of disks
raid10
[reads+(2*writes)] /numbers of disks
② 監控磁碟讀寫,如果磁碟長時間進行大資料量讀寫操作,且cpu等待超過20%,則說明磁碟i/o存在問題,考慮提高磁碟i/o讀寫效能。
判斷網路頻寬是否是瓶頸的方法:判斷網路頻寬是否是系統執行效能瓶頸的首要條件是網路頻寬是否會影響系統交易執行效能。例如:減小網路頻寬,併發使用者數、響應時間與事務通過率等效能指標是否不能接受;或者增加網路頻寬,併發使用者數、響應時間與事務通過率等效能指標會得到明顯提高。
在實際效能測試中,如果發現始終報連線超時,而實際手工訪問可以正常訪問,可以通過ping應用伺服器ip或閘道器ip,如果出現網路嚴重延遲或丟包,則說明網路不穩定,需要檢查網路。
通過對資源指標四個指標的分析,實際上各個方面都是互相依賴的,不能孤立的單從某個方面進行排查。當乙個方面出現效能問題時,往往會引發其他方面的 效能問題,例如,大量的磁碟讀寫勢必消耗cpu和io資源,而記憶體的不足會導致頻繁地進行記憶體頁寫入磁碟、磁碟寫到記憶體的操作,造成磁碟io瓶頸,同時, 大量的網路流量也會造成cpu過載,所以,在分析效能問題時,需要從各個方面進行考慮。
ø系統指標分析
併發使用者數:系統能夠支援的使用者數是系統容量的重要標誌,併發使用者數用於度量系統在高併發量訪問下,系統的並行處理能力,一般如果系統中存在死鎖、資源爭用,在併發訪問下,由於請求處於佇列等待中,系統響應就會隨著時間變慢。
一般情況下,選用高吞吐量、高資料庫i/o、高商業風險的業務功能進行併發使用者訪問測試。
判斷系統能夠承受的最大併發使用者數,通常以滿足以下條件為準:
1、業務功能操作平均響應時間在合理範圍之內
2、事務成功率在合理範圍之內
3、 系統執行無故障(無異常宕機)
4、系統資源指標使用在合理範圍內
事務成功率、超時出錯率:事務成功率越高,則表明系統處理能力越大;而失敗事務主要由於系統響應慢,導致訪問業務功能超時,或者系統業務功能異常,不能正常訪問等,需要根據事務錯誤提示資訊,具體分析。
效能測試需關注的關鍵指標
一 軟體效能測試需要監控哪些關鍵指標?通常情況下,效能測試監控指標主要分為 硬體資源指標和系統指標 資源指標 cpu使用率 指使用者程序與系統程序消耗的cpu時間百分比,長時間情況下,一般可接受上限不超過85 記憶體利用率 記憶體利用率 1 空閒記憶體 總記憶體大小 100 一般至少有10 可用記憶...
Web效能測試中的幾個關鍵指標
系統吞吐量 吞吐量指單位時間內系統處理的請求數量,體現系統的整體處理能力。對於 可以用 請求數 秒 或是 頁面數 秒 來衡量,也可以用 訪問人數 天 或是 處理的業務數 小時 等來衡量。tps 每秒事務數 是吞吐量的乙個常用量化指標,此外還有hps 每秒http請求數 qps 每秒查詢數 等。1 併...
Web效能測試中的幾個關鍵指標
系統吞吐量 吞吐量指單位時間內系統處理的請求數量,體現系統的整體處理能力。對於 可以用 請求數 秒 或是 頁面數 秒 來衡量,也可以用 訪問人數 天 或是 處理的業務數 小時 等來衡量。tps 每秒事務數 是吞吐量的乙個常用量化指標,此外還有hps 每秒http請求數 qps 每秒查詢數 等。1 併...