先來說一下常見的兩個性能測試工具生成的報告包含些什么
LoadRunner Analysis報告
比較強(qiáng)大的是LR可以生成HTML報告和SLA報告,生成時按需選擇肆糕。內(nèi)容主要包括:概要在孝、統(tǒng)計、事物始赎、SLA分析和http響應(yīng)統(tǒng)計五部分,這里主要說統(tǒng)計造垛、事務(wù)、http響應(yīng)办斑。
統(tǒng)計
? Maximum Running Vusers:最大運(yùn)行Vuser數(shù),顯示的信息是場景(傳說中的測試用例)運(yùn)行時設(shè)置的Vuser用戶數(shù)杆逗,但是通常實(shí)際運(yùn)行的數(shù)比設(shè)置的Vuser數(shù)小乡翅。原因:LoadRunner有加載時間和延遲時間蠕蚜。
? Total Throughput(bytes): 總吞吐量,場景在運(yùn)行時產(chǎn)生的全部流量。
? Average Throughput(bytes/second):平均吞吐量悔橄,平均每秒的吞吐量(率)。
? Total Hits:總單擊數(shù)尺铣,在場景運(yùn)行時所有的http請求數(shù)争舞。
? Average Hits per Second:平均每單擊數(shù)秒
? View HTTP Responses Summary:HTTP相應(yīng)摘要
事務(wù)(Transaction)
? Minimum:事務(wù)運(yùn)行最短時間
? Average:事務(wù)運(yùn)行最長時間
? Maximum:事務(wù)運(yùn)行最長時間
? Std.Derviation:標(biāo)準(zhǔn)方差。方差越大竞川,數(shù)據(jù)越離散委乌,波動性越強(qiáng)床牧。
? 90 percent:一個事務(wù)在執(zhí)行過程中的90%花費(fèi)的時間,舉例:它執(zhí)行了100次遭贸,對這100次執(zhí)行的響應(yīng)時間升序排序,90%指第90次運(yùn)行時間壕吹。
? Pass:通過的事務(wù)數(shù)著蛙。
? Fail:失敗的事務(wù)數(shù)。
? Stop:停止的事務(wù)數(shù)耳贬。
后面的待我填坑
Jmeter?聚合報告
? Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
? Samples:表示你這次測試中一共發(fā)出了多少個請求咒劲,如果模擬10個用戶顷蟆,每個用戶迭代10次诫隅,那么這里顯示100
? Average:平均響應(yīng)時間——默認(rèn)情況下是單個 Request 的平均響應(yīng)時間帐偎,當(dāng)使用了 Transaction Controller 時逐纬,也可以以Transaction 為單位顯示平均響應(yīng)時間
? Median:中位數(shù),也就是 50% 用戶的響應(yīng)時間
? 90% Line:90% 用戶的響應(yīng)時間
? Note:關(guān)于 50% 和 90% 并發(fā)用戶數(shù)的含義肮街,請參考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
? Min:最小響應(yīng)時間
? Max:最大響應(yīng)時間
? Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)
? Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請求數(shù)(Request per Second)风题,當(dāng)使用了 Transaction Controller 時,也可以表示類似LoadRunner的 Transaction per Second 數(shù)
? KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量嫉父,相當(dāng)于LoadRunner中的Throughput/Sec
Jmeter 圖形結(jié)果
? 樣本數(shù)目:總共發(fā)送到服務(wù)器的請求數(shù).
? 最新樣本:代表時間的數(shù)字,是服務(wù)器響應(yīng)最后一個請求的時間.
? 吞吐量:服務(wù)器每分鐘處理的請求數(shù).
? 平均值:總運(yùn)行時間除以發(fā)送到服務(wù)器的請求數(shù).
? 中間值:時間的數(shù)字,有一半的服務(wù)器響應(yīng)時間低于該值而另一半高于該值.
? 偏離:服務(wù)器響應(yīng)時間變化、離散程度測量值的大小,或者,換句話說,就是數(shù)據(jù)的分布.
【劃重點(diǎn)绕辖,要熟悉的!N !树碱!】
Web服務(wù)器指標(biāo)指標(biāo):
? Avg Rps: 平均每秒鐘響應(yīng)次數(shù)=總請求時間 / 秒數(shù)框舔;
? Avg time to last byte per terstion (mstes):平均每秒業(yè)務(wù)腳本的迭代次數(shù),有人會把這兩者混淆赎婚;
? Successful Rounds:成功的請求刘绣;
? Failed Rounds :失敗的請求纬凤;
? Successful Hits :成功的點(diǎn)擊次數(shù)撩嚼;
? Failed Hits :失敗的點(diǎn)擊次數(shù)停士;
? Hits Per Second :每秒點(diǎn)擊次數(shù);
? Successful Hits Per Second :每秒成功的點(diǎn)擊次數(shù)完丽;
? Failed Hits Per Second :每秒失敗的點(diǎn)擊次數(shù)向瓷;
? Attempted Connections :嘗試鏈接數(shù);
CS結(jié)構(gòu)程序由于一般軟件后臺通常為數(shù)據(jù)庫舰涌,所以我們更注重數(shù)據(jù)庫的測試指標(biāo):
? User 0 Connections :用戶連接數(shù),也就是數(shù)據(jù)庫的連接數(shù)量你稚;
? Number of deadlocks:數(shù)據(jù)庫死鎖瓷耙;
? Buffer Cache hit :數(shù)據(jù)庫Cache的命中情況
當(dāng)然朱躺,在實(shí)際中我們還會察看多用戶測試情況下的內(nèi)存,CPU搁痛,系統(tǒng)資源調(diào)用情況长搀。
資源指標(biāo)
? CPU使用率:指用戶進(jìn)程與系統(tǒng)進(jìn)程消耗的CPU時間百分比,長時間情況下鸡典,一般可接受上限不超過85%源请。?
? 內(nèi)存利用率:內(nèi)存利用率=(1-空閑內(nèi)存/總內(nèi)存大小)*100%彻况,一般至少有10%可用內(nèi)存谁尸,內(nèi)存使用率可接受上限為85%。
? 磁盤I/O: 磁盤主要用于存取數(shù)據(jù)纽甘,因此當(dāng)說到IO操作的時候良蛮,就會存在兩種相對應(yīng)的操作,存數(shù)據(jù)的時候?qū)?yīng)的是寫IO操作悍赢,取數(shù)據(jù)的時候?qū)?yīng)的是是讀IO操作决瞳,一般使用% Disk Time(磁盤用于讀寫操作所占用的時間百分比)度量磁盤讀寫性能。
? 網(wǎng)絡(luò)帶寬:一般使用計數(shù)器Bytes Total/sec來度量左权,Bytes Total/sec表示為發(fā)送和接收字節(jié)的速率皮胡,包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸赏迟,可以用該計數(shù)器的值和目前網(wǎng)絡(luò)的帶寬比較屡贺。
系統(tǒng)指標(biāo):
(評測要求按需求規(guī)格說明書)
? 并發(fā)用戶數(shù):某一物理時刻同時向系統(tǒng)提交請求的用戶數(shù)。
? 在線用戶數(shù):某段時間內(nèi)訪問系統(tǒng)的用戶數(shù)瀑梗,這些用戶并不一定同時向系統(tǒng)提交請求烹笔。
? 響應(yīng)時間:一般包括最大響應(yīng)時間和平均響應(yīng)時間,響應(yīng)時間包括網(wǎng)絡(luò)上的傳輸時間抛丽,WEB服務(wù)器上處理時間谤职、APP服務(wù)器上的處理時間、DB服務(wù)器上的處理時間亿鲜,【注:響應(yīng)時間不包括瀏覽器上的內(nèi)容顯示時間】
? 平均響應(yīng)時間:系統(tǒng)處理事務(wù)的響應(yīng)時間的平均值允蜈。事務(wù)的響應(yīng)時間是從客戶端提交訪問請求到客戶端接收到服務(wù)器響應(yīng)所消耗的時間。對于系統(tǒng)快速響應(yīng)類頁面蒿柳,一般響應(yīng)時間為3秒左右饶套。
? 事務(wù)成功率:性能測試中,定義事務(wù)用于度量一個或者多個業(yè)務(wù)流程的性能指標(biāo)垒探,如用戶登錄妓蛮、保存訂單、提交訂單操作均可定義為事務(wù)