1. 程式人生 > >效能結果分析與理解(關於90%響應時間、圖表等)

效能結果分析與理解(關於90%響應時間、圖表等)

描述性統計與效能結果分析——《LoadRunner 沒有告訴你的》之一

LoadRunner中的90%響應時間是什麼意思?這個值在進行效能分析時有什麼作用?本文爭取用最簡潔的文字來解答這個問題,並引申出“描述性統計”方法在效能測試結果分析中的應用。

為什麼要有90%使用者響應時間?因為在評估一次測試的結果時,僅僅有平均事務響應時間是不夠的。為什麼這麼說?你可以試著想想,是否平均事務響應時間滿足了效能需求就表示系統的效能已經滿足了絕大多數使用者的要求?

假如有兩組測試結果,響應時間分別是 {1,3,5,10,16} 和 {5,6,7,8,9},它們的平均值都是7,你認為哪次測試的結果更理想?

假如有一次測試,總共有100

個請求被響應,其中最小響應時間為0.02秒,最大響應時間為110秒,平均事務響應時間為4.7秒,你會不會想到最小和最大響應時間如此大的偏差是否會導致平均值本身並不可信?

為了解答上面的疑問,我們先來看一張表:

在上面這個表中包含了幾個不同的列,其含義如下:

CmdID測試時被請求的頁面

NUM響應成功的請求數量

MEAN所有成功的請求的響應時間的平均值

STD DEV標準差(這個值的作用將在下一篇文章中重點介紹)

MIN響應時間的最小值

50 th(60/70/80/90/95 th)如果把響應時間從小到大順序排序,那麼50%的請求的響應時間在這個範圍之內。後面的60/70/80/90/95 th 也是同樣的含義

MAX響應時間的最大值

我想看完了上面的這個表和各列的解釋,不用多說大家也可以明白我的意思了。我把結論性的東西整理一下:

1.90%使用者響應時間在 LoadRunner中是可以設定的,你可以改為80%或95%;

LoadRunner Analysis-〉Tools-〉Options-〉General-〉Summary Report下修改Transaction Percentile

2.對於這個表,LoadRunner中是沒有直接提供的,你可以把LR中的原始資料匯出到Excel中,並使用Excel中的PERCENTILE 函式很簡單的算出不同百分比使用者請求的響應時間分佈情況;

3.從上面的表中來看,對於Home Page來說,平均事務響應時間(MEAN)只同70%使用者響應時間相一致。也就是說假如我們確定Home Page的響應時間應該在5秒內,那麼從平均事務響應時間來看是滿足的,但是實際上有10-20%的使用者請求的響應時間是大於這個值的;對於Page 1也是一樣,假如我們確定對於Page 1 的請求應該在3秒內得到響應,雖然平均事務響應時間是滿足要求的,但是實際上有20-30%的使用者請求的響應時間是超過了我們的要求的;

4.你可以在95 th之後繼續新增96/ 97/ 98/ 99/ 99.9/ 99.99 th,並利用Excel的圖表功能畫一條曲線,來更加清晰表現出系統響應時間的分佈情況。這時候你也許會發現,那個最大值的出現機率只不過是千分之一甚至萬分之一,而且99%的使用者請求的響應時間都是在效能需求所定義的範圍之內的;

5.如果你想使用這種方法來評估系統的效能,一個推薦的做法是儘可能讓你的測試場景執行的時間長一些,因為當你獲得的測試資料越多,這個響應時間的分佈曲線就越接近真實情況

6.在確定性能需求時,你可以用平均事務響應時間來衡量系統的效能,也可以用90%或95%使用者響應時間來作為度量標準,它們並不衝突。實際上,在定義某些系統的效能需求時,一定範圍內的請求失敗也是可以被接受的;

7.上面提到的這些內容其實是與工具無關的,只要你可以得到原始的響應時間記錄,無論是使用LoadRunner還是JMeter或者OpenSTA,你都可以用這些方法和思路來評估你的系統的效能。

事實上,在效能測試領域中還有更多的東西是目前的商業測試工具或者開源測試工具都沒有專門講述的——換句話說,效能測試僅僅有工具是不夠的。我們還需要更多其他領域的知識,例如數學和統計學,來幫助我們更好的分析效能資料,找到隱藏在那些資料之下的真相。

描述性統計與效能結果分析(續) ——《LoadRunner 沒有告訴你的》之二

資料統計分析的思路與分析結果的展示方式是同樣重要的,有了好的分析思路,但是卻不懂得如何更好的展示分析結果和資料來印證自己的分析,就像一個人滿腹經綸卻不知該如何一展雄才

一圖勝千言,所以這次我會用兩張圖表來說明“描述性統計”在效能測試結果分析中的其他應用。

在這張圖中,我們繼續使用了上一篇文章——《描述性統計與結果分析》一文中的方法,對響應時間的分佈情況來進行分析。上面這張圖所使用的資料是通過對Google.com 首頁進行測試得來的,在測試中分別使用10/25/50/75/100 幾個不同級別的併發使用者數量。通過這張圖表,我們可以通過橫向比較和縱向比較,更清晰的瞭解到被測應用在不同級別的負載下的響應能力。

這張圖所使用的資料與第一張圖一樣,但是我們使用了另外一個視角來對資料進行展示。表中最左側的2000/5000/10000/50000的單位是毫秒,分別表示了在整個測試過程中,響應時間在0-2000毫秒範圍內的事務數量佔成功的事務總數的百分比,響應時間在2001-5000毫秒範圍內的事務數量佔成功的事務總數的百分比,響應時間在5001-10000毫秒範圍內的事務數量佔成功的事務總數的百分比,以及響應時間在10001-50000毫秒範圍內的事務數量佔成功的事務總數的百分比。

這幾個時間範圍的確定是參考了業內比較通行的“2-5-10原則”——當然你也可以為自己的測試製定其他標準,只要得到企業內的承認就可以。所謂的“2-5-10原則”,簡單說,就是當用戶能夠在2秒以內得到響應時,會感覺系統的響應很快;當用戶在2-5秒之間得到響應時,會感覺系統的響應速度還可以;當用戶在5-10秒以內得到響應時,會感覺系統的響應速度很慢,但是還可以接受;而當用戶在超過10秒後仍然無法得到響應時,會感覺系統糟透了,或者認為系統已經失去響應,而選擇離開這個Web站點,或者發起第二次請求。

那麼從上面的圖表中可以看到,當併發使用者數量為10時,超過95%的使用者都可以在5秒內得到響應;當併發使用者數量達到25時,已經有80%的事務的響應時間處在危險的臨界值,而且有相當數量的事務的響應時間超過了使用者可以容忍的限度;隨著併發使用者數量的進一步增加,超過使用者容忍限度的事務越來越多,當併發使用者數到達75時,系統幾乎已經無法為任何使用者提供響應了。

這張圖表也同樣可以用於對不同負載下事務的成功、失敗比例的比較分析。

Note:上面兩個圖表中的資料,主要通過Excel 中提供的FREQUENCY,AVERAGE,MAX,MIN和PERCENTILE幾個統計函式獲得,具體的使用方法請參考Excel幫助手冊。

相關推薦

效能結果分析理解關於90%響應時間圖表

描述性統計與效能結果分析——《LoadRunner 沒有告訴你的》之一LoadRunner中的90%響應時間是什麼意思?這個值在進行效能分析時有什麼作用?本文爭取用最簡潔的文字來解答這個問題,並引申出“描述性統計”方法在效能測試結果分析中的應用。為什麼要有90%使用者響應時間

Android java層音訊相關的分析理解音量控制相關

上一篇我們簡單地說了一下Android java層的基本框架。接下來我們就來聊一下在android中音量控制的相關內容。 1.音量定義 在Android中,音量的控制與流型別是密不可分的,每種流型別都獨立地擁有自己的音量設定,各種流型別的音量是互不干擾的,例如音樂音量、通話

Android java層音訊相關的分析理解基本框架

最近在整理之前在公司寫的一些文件,於是決定將部分適用比較廣的文件整理在部落格中,供大家參考。第一個系列是AudioService相關的。這個可以算是《深入理解Android 卷Ⅲ》的一個讀書筆記吧。整體的思路基本上與《深入理解Android 卷Ⅲ》的Audio部分差不多。只

Jmeter中一些概念的理解——90%響應時間事務併發

一、90%響應時間(參考蟲師部落格) 90%Line  一組數由小到大進行排列,找到他的第90%個數(假如是12),那麼這個陣列中有90%的數將小於等於12 。 用在效能測試的響應時間,也就是90%請求響應時間不會超過12 秒。 例如: 某一次測試結果,每個sample

效能測試需求分析 業務PV量,響應時間QPSTPS

一、 效能測試需求分析   1.1      效能測試需求內容 效能測試需求應包括以下內容: a)    測試場景及用例,用例訪問URL; b)   目標介面方法的入參、出參; c)    外部依賴的服務細節; d)  關鍵資料: 資料量、高峰業務PV量 e)  預期效能指

過渡動畫animate.css庫動畫原理

## 一、使用animate.css庫 ## Vue 在插入、更新或者移除 DOM 時,提供多種不同方式的應用過渡效果。 在 CSS 過渡和動畫中自動應用 class 可以配合使用第三方 CSS 動畫庫,如 Animate.css 在過渡鉤子函式中使用 J

邏輯表示式 -- 對蘊含的理解舉例更清晰明白哦

A蘊含B,即為“若A則B”。 其定義的真值表如下: 對於表中的前兩項,我們可以理解。 但是很多人都不理解第三、四項,為什麼A為真,則無論B是真是假,整個表示式都為真,首先需要說明的是這就是定義。 但是還是需要舉個例子來更好的理解。如下: 假設A => B :如果今

統計學習方法——模型的選擇評估過擬合泛化能力

參考書目及論文:《統計學習方法》——李航、A Tutorial on Support Vector Machine for Pattern Recognition 監督學習的目的是找到一個輸入輸出對映(模型),使得這個模型不僅對訓練資料有很好的擬合能力,對於未知資料,它也

Python3 獲取檔案屬性時間大小

%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a本地簡化星期名稱 %A 本地完整星期名

嵌入式面試中常見的問答題執行緒程序TCP

以下內容源於網路資料的學習整理,如有侵權,請告知刪除。 一、執行緒、程序的區別聯絡 個人理解:程序相當於一個執行中的程式,執行緒相當於程式中的某些函式。(實際程式設計也是如此) (1)這些函式都有獨立的執行入口、順序執行序列、出口。 (2)但這些函式不能獨立存

Linux之必備軟體安裝搜狗輸入法qq

假如我們剛剛安裝完Ubuntu系統之後,有很多必須的軟體需要安裝一下,這裡羅列一下: 本文回後續會一直更新,加入新的軟體的安裝辦法,敬請關注! 在安裝之前需要開啟terminal 1.更新所有軟體

深入理解Java執行緒池原理分析使用尤其當執行緒佇列滿了之後事項

在這裡借花獻佛了,那別人的東西學一學了。在我們的開發中“池”的概念並不罕見,有資料庫連線池、執行緒池、物件池、常量池等等。下面我們主要針對執行緒池來一步一步揭開執行緒池的面紗。使用執行緒池的好處1、降低資源消耗可以重複利用已建立的執行緒降低執行緒建立和銷燬造成的消耗。2、提高響應速度當任務到達時,任務可以不需

《LoadRunner 沒有告訴你的》之一——描述性統計效能結果分析

:本文可以被轉載,但是在未經本人許可前,不得用於任何商業用途或其他以盈利為目的的用途。本人保留對本文的一切權利。如需轉載,請在轉載是保留此版權宣告,並保證本文的完整性。也請轉貼者理解創作的辛勞,尊重作者的勞動成果。 作者:陳雷 (Jackei) LoadRunn

Android 系統性能優化30---Android效能全面分析優化方案研究

5.1、渲染問題先來看看造成應用UI卡頓的常見原因都有哪些?1、人為在UI執行緒中做輕微耗時操作,導致UI執行緒卡頓;2、佈局Layout過於複雜,無法在16ms內完成渲染;3、同一時間動畫執行的次數過多,導致CPU或GPU負載過重;4、View過度繪製,導致某些畫素在同一幀時間內被繪製多次,從而使CPU或G

checkbox復選框的一些深入研究理解

ack 註意 聖誕 return tle script ++ doc div 原文鏈接:http://www.zhangxinxu.com/wordpress/?p=466 1 <!DOCTYPE html> 2 <html lang="en">

SQL註入漏洞的分析利用

ces mysql 得出 必須 排序 快速搭建 oracle 學習筆記 min SQL註入的核心思想 黑客在正常的需要調用數據庫的URL後面構造一段數據庫查詢代碼,然後根據返回的結果,從而獲得想要的某些數據。SQL結構化查詢語言,絕大多數關系型數據庫(MySQL、Acces

SQL註入漏洞的分析利用

manage 如果 得到 nio 學習筆記 sql註入 .com 密碼 vpd Access手工註入 1.實驗環境:實驗平臺:小旋風ASPWeb服務器目標網站:南方數據2.02.打開網站,隨意點開一個頁面看到?id=4說明有參數傳遞,用的是get方法,可能是一個註入點加入判

SQL註入漏洞的分析利用

和數 form 打開 用戶 data 用戶名 text 必須 存儲 MySQL數據庫: 元數據庫information_schema1.在5.0以後版本的MySQL中存在著一個元數據庫information_schema,其中存儲著用戶在MySQL中創建的所有其他數據庫的信

FreeCodeCamp( FCC)前端工程師 中級算法練習 分析解答(精)

前端工程師 doc html agents fad asc -keep tps nts [TOC] 說在前面 這是要一篇非常簡單的新手能看懂的文章,希望你喜歡。由於在 freecodecamp 中貌似!?無法使用 ES6 的某些語法,未測試具體。所以基本上用古老?!的ES5

JSP學習理解

parse runtime this java服務 b站 sps odin 作用域 地址欄 一.JSP的運用 1).WHYJSP是簡Servlet編寫的一種技術,它將Java代碼和HTML語句混合在同一個文件中編寫,只對網頁中的要動態產生的內容采用java代碼來編寫,