地址:廣州科學城玉樹工業(yè)園J棟103房 105房 107房
電話:400-108-9880
傳真:020-3170 7367
郵箱:kj-mark@svtest.cn
進行軟件性能測試的主要目的:
? 評價當前系統(tǒng)的性能,判斷系統(tǒng)是否滿足預期的性能需求。
? 尋找軟件系統(tǒng)可能存在的性能問題,定位性能瓶頸并解決問題。
? 判定軟件系統(tǒng)的性能表現(xiàn),預見系統(tǒng)負載壓力承受力,在應用部署之前,評估系統(tǒng)性能。
對用戶而言,最關注的是當前使用的系統(tǒng):
? 是否滿足上線性能要求?
? 系統(tǒng)極限承載如何?
? 系統(tǒng)穩(wěn)定性如何?
通常而言,性能測試需要監(jiān)控的指標主要分為:資源指標和系統(tǒng)指標,如下圖所示,資源指標與硬件資源消耗直接相關,而系統(tǒng)指標則與用戶場景及需求情況直接相關。
一、性能測試監(jiān)控關鍵指標說明:
1. 資源指標
2. 系統(tǒng)指標:
單位時間內系統(tǒng)可以成功完成多少個定義的事務,在一定程度上反應了系統(tǒng)的處理能力,一般以事務成功率來度量
二、如何監(jiān)控關鍵指標?
1. 資源指標監(jiān)控:
主要針對各服務器系統(tǒng)平臺(Windows、Linux、Unix等)資源使用進行監(jiān)控。
可以使用系統(tǒng)自帶的性能監(jiān)控工具或者第三方工具進行監(jiān)控,如Windows系統(tǒng)自帶的“系統(tǒng)性能監(jiān)視器”,如下圖所示:
在Linux系統(tǒng)下,free、vmstat、sar、iostat等命令監(jiān)控內存、CPU、磁盤IO等的使用情況,如下圖所示:
也可以使用第三方監(jiān)控工具,如spotlight,它是一款可以針對多種系統(tǒng)平臺及數(shù)據(jù)庫進行監(jiān)控的可視化工具,如下圖所示:
Nmon是IBM提供的監(jiān)控AIX和Linux系統(tǒng)資源的免費工具,可以對收集的資源信息通過Excel進行統(tǒng)計分析形成直觀的統(tǒng)計圖,如下圖所示:
2. 系統(tǒng)指標監(jiān)控
系統(tǒng)指標監(jiān)控一般通過性能測試工具(如LoadRunner、Jmeter等)以圖形化方式監(jiān)控,如下圖所示,并發(fā)用戶數(shù)與平均響應時間關系圖。
三、如何分析監(jiān)控的關鍵指標?
通過監(jiān)控收集到性能度量關鍵指標,如何進行分析,并判斷是否存在性能瓶頸呢?以下主要從資源指標與系統(tǒng)指標兩方面進行闡述。
1. 資源指標分析
判斷CPU是否是瓶頸的方法:一般情況下CPU滿負荷工作,有時候并不能判定為CPU出現(xiàn)瓶頸,比如Linux 總是試圖要CPU盡可能的繁忙,使得任務的吞吐量最大化,即CPU盡可能最大化使用。因此,一般判斷CPU為瓶頸,主要從兩方面:一是CPU空閑持續(xù)為 0,二是運行隊列大于CPU核數(shù)(經驗值3-4倍),即可判定存在瓶頸,對于CPU高消耗主要由什么引起的,可能是應用程序不合理造成,也可能是硬件資源 不足,需要具體問題具體分析,比如問題SQL語句引起,則需要跟蹤并優(yōu)化引起CPU使用過高的SQL語句。
判斷內存是否是瓶頸的方法:一般至少有10%可用內存,內存使用率可接受上限為85%。當空閑內存變小時,系統(tǒng)開始頻繁地調動磁盤頁面文件,空閑內存過小可能是內存不足或內存泄漏引起,需要根據(jù)系統(tǒng)實際情況監(jiān)控分析。
判斷磁盤I/O是否是瓶頸的方法:磁盤I/O對于數(shù)據(jù)庫服務器、文件服務器、流媒體服務器系統(tǒng)來說,更容易成為瓶頸,一般從以下幾個方面對磁盤I/O進行分析判斷:
① 計算每磁盤I/O數(shù)
每磁盤I/O數(shù)可用來與磁盤的I/O能力進行對比,如果經過計算得到的每磁盤I/O數(shù)超過了磁盤標稱的I/O能力,則說明確實存在磁盤的性能瓶頸,每磁盤I/O計算方法如下表:
判斷網絡帶寬是否是瓶頸的方法:判斷網絡帶寬是否是系統(tǒng)運行性能瓶頸的首要條件是網絡帶寬是否會影響系統(tǒng)交易執(zhí)行性能。例如:減小網絡帶寬,并發(fā)用戶數(shù)、響應時間與事務通過率等性能指標是否不能接受;或者增加網絡帶寬,并發(fā)用戶數(shù)、響應時間與事務通過率等性能指標會得到明顯提高。② 監(jiān)控磁盤讀寫,如果磁盤長時間進行大數(shù)據(jù)量讀寫操作,且CPU等待超過20%,則說明磁盤I/O存在問題,考慮提高磁盤I/O讀寫性能。
在實際性能測試中,如果發(fā)現(xiàn)始終報連接超時,而實際手工訪問可以正常訪問,可以通過ping應用服務器IP或網關IP,如果出現(xiàn)網絡嚴重延遲或丟包,則說明網絡不穩(wěn)定,需要檢查網絡。
通過對資源指標四個指標的分析,實際上各個方面都是互相依賴的,不能孤立的單從某個方面進行排查。當一個方面出現(xiàn)性能問題時,往往會引發(fā)其他方面的 性能問題,例如,大量的磁盤讀寫勢必消耗CPU和IO資源,而內存的不足會導致頻繁地進行內存頁寫入磁盤、磁盤寫到內存的操作,造成磁盤IO瓶頸,同時, 大量的網絡流量也會造成CPU過載,所以,在分析性能問題時,需要從各個方面進行考慮。
2. 系統(tǒng)指標分析
并發(fā)用戶數(shù):系統(tǒng)能夠支持的用戶數(shù)是系統(tǒng)容量的重要標志,并發(fā)用戶數(shù)用于度量系統(tǒng)在高并發(fā)量訪問下,系統(tǒng)的并行處理能力,一般如果系統(tǒng)中存在死鎖、資源爭用,在并發(fā)訪問下,由于請求處于隊列等待中,系統(tǒng)響應就會隨著時間變慢。
一般情況下,選用高吞吐量、高數(shù)據(jù)庫I/O、高商業(yè)風險的業(yè)務功能進行并發(fā)用戶訪問測試。
判斷系統(tǒng)能夠承受的最大并發(fā)用戶數(shù),通常以滿足以下條件為準:
? 業(yè)務功能操作平均響應時間在合理范圍之內;
? 事務成功率在合理范圍之內;
? 系統(tǒng)運行無故障(無異常的宕機);
? 系統(tǒng)資源指標使用在合理范圍內。
平均響應時間:對于客戶端用戶來說,最直觀的體驗就是訪問該頁面快或者慢,即響應時間的長短。比如在持續(xù)并發(fā)性能測試過程中,客戶感知訪問應用很慢,監(jiān)控到的平均響應時間也逐漸變長,這時就需要先借助于監(jiān)控到的資源指標,首先排除資源方 面的限制因素,再從應用本身進行定位,如可以采用頁面細分工具(如httpwatch、Loadrunner Anaysis中的頁面組件細分)分析響應比較慢的頁面。
事務成功率、超時出錯率:事務成功率越高,則表明系統(tǒng)處理能力越大;失敗事務主要由于系統(tǒng)響應慢,導致訪問業(yè)務功能超時,或者系統(tǒng)業(yè)務功能異常,不能正常訪問等,需要根據(jù)事務錯誤提示信息,具體分析。
聯(lián)系我們
電話:400 108 9880
郵箱:kj-sv@svtest.cn
傳真:020-31707367
聯(lián)系地址
廣州:廣州開發(fā)區(qū)科學城玉樹創(chuàng)新園 J 棟 103 房
北京:北京市海淀區(qū)永定路 15 號院南門 208 室
長沙:長沙市雨花區(qū)保利東郡 8 棟 1803 房
深圳:深圳市南山區(qū)西麗深圳大學城學苑大道 1068 號(深圳先進院內)
深圳市龍華區(qū)觀湖街道松元廈社區(qū)虎地排121號錦繡大地11號樓410
石家莊:石家莊市鹿泉區(qū)山尹村鎮(zhèn)濱海路19號2號樓