一、
Web Page Breakdown
DNS
解析時(shí)間:
顯示使用最近的
DNS
服務(wù)器將
DNS
名稱解析為
IP
地址所需的時(shí)間;
DNS
查找度量是指示
DNS
解析問題或
DNS
服務(wù)器問題的一個很好的指示器;
Connect
時(shí)間:
顯示與包含指定
URL
的
Web
服務(wù)器建立初始連接所需的時(shí)間;
Connect
度量是一個很好的網(wǎng)絡(luò)問題指示器;它還可表明服務(wù)器是否對請求做出響應(yīng);
First buffer
時(shí)間:
顯示從初始
HTTP
請求到成功收回來自
WEB
服務(wù)器的第一次緩沖時(shí)為止所經(jīng)過的時(shí)間;
First buffer
度量是很好的
Web
服務(wù)器延遲和網(wǎng)絡(luò)滯后指示器;
SSL Handshaking time
:
顯示建立
SSL
連接所用的時(shí)間
Receive Time
:
顯示從服務(wù)器收到最后一個字節(jié)并完成下載之前經(jīng)過的時(shí)間;接收度量是很好的網(wǎng)絡(luò)質(zhì)量指示器;
FTP
驗(yàn)證時(shí)間:
顯示驗(yàn)證客戶端所用的時(shí)間。
Client Time
:
顯示因?yàn)g覽器思考時(shí)間或其他與客戶端有關(guān)的延遲而使客戶機(jī)上的請求發(fā)生延遲時(shí),所經(jīng)過的時(shí)間。
Error
時(shí)間:
顯示從發(fā)出
HTTP
請求到返回錯誤消息這期間所經(jīng)過的平均時(shí)間
(
二、 關(guān)于 TPS ( Transactions per Second ): 每秒處理事務(wù)數(shù)
這個值可以說明系統(tǒng)在特定的負(fù)載情況下,每秒可以處理多少個客戶端請求,這是一個衡量服務(wù)器端性能的重要指標(biāo),相信各位在進(jìn)行性能測試的時(shí)候經(jīng)常會用到這個指標(biāo)。但是一直以來我都有一個疑問,到底這個值是怎么算出來的。既然是每秒事務(wù)數(shù),那算法自然是“事務(wù)數(shù) / 時(shí)間”。事務(wù)數(shù)很好理解,執(zhí)行了多少就是多少,關(guān)鍵是這個時(shí)間。是整個場景執(zhí)行的時(shí)間,還是僅僅是在服務(wù)器端執(zhí)行的時(shí)間?因?yàn)槲覀冎溃@兩個時(shí)間肯定是有區(qū)別的,前者還包括 thinktime 的時(shí)間、 pacing 的時(shí)間以及在網(wǎng)絡(luò)上耗費(fèi)的時(shí)間等等。
為了弄明白這個問題,我今天特地查了一下幫助文檔,看到上面是這么說的:“每秒事務(wù)數(shù)圖顯示在場景或會話步驟運(yùn)行的每一秒中,每個事務(wù)通過、失敗以及停止的次數(shù)。”如果按照這句話去理解,那么上面那個問題的答案應(yīng)該是后者,也就是說,在 Transaactions per Second 這張圖中, LoadRunner 是針對場景運(yùn)行過程中的每一個時(shí)間點(diǎn)取樣一次,顯示在這個時(shí)間點(diǎn)上每個事務(wù)的通過、失敗以及停止的個數(shù)。
另外,我還在 Analysis 里面找了一下,發(fā)現(xiàn)圖表的時(shí)間顯示粒度也是可以設(shè)置的。具體方法為:在圖表上點(diǎn)擊右鍵 -> 選擇“ Set Granularity ”或者直接按 Ctrl+G 。我試著把時(shí)間粒度調(diào)成以毫秒為單位,結(jié)果 LoadRunner 提示當(dāng)前不支持以毫秒為顯示粒度,由此我推斷 LoadRunner 對于 Transactions per Second 這張圖,最小的取樣粒度為 1 秒。
(
三、 事務(wù)響應(yīng)時(shí)間(百分比)圖
這個圖顯示的是事務(wù)響應(yīng)時(shí)間范圍的分布情況。在場景的執(zhí)行中,每個定義的事務(wù)可能會不止被處理一次(因?yàn)樵O(shè)置了持續(xù)時(shí)間或者迭代次數(shù)), LoadRunner 會為每個事務(wù)實(shí)例的處理分別記錄響應(yīng)時(shí)間。在 Summary Report 中, LoadRunner 會針對每個事務(wù)的響應(yīng)時(shí)間數(shù)據(jù)集合,分別取它的最大值、最小值和平均值,通常我們會關(guān)注響應(yīng)時(shí)間的平均值。然而很多時(shí)候,單單是平均響應(yīng)時(shí)間可能是不夠的,因?yàn)橐坏┳畲笾岛妥钚≈党霈F(xiàn)較大的偏差,即便平均響應(yīng)時(shí)間處在可以接受的范圍內(nèi),但并不意味著整個系統(tǒng)的性能就是可以接受的,我們有必要再借助其它的分析報(bào)表來進(jìn)一步分析,此時(shí)事務(wù)響應(yīng)時(shí)間(百分比)圖就派上用場了。
事務(wù)響應(yīng)時(shí)間(百分比)給出的是每個事務(wù)的響應(yīng)時(shí)間按百分比的分布情況,它告訴我們本次測試有多少個事務(wù)的平均響應(yīng)時(shí)間是落在我們可以接受的時(shí)間范圍之內(nèi)。如果最大響應(yīng)時(shí)間非常長,但是絕大多數(shù)事務(wù)(通常情況下以
95%
為參考)的響應(yīng)時(shí)間具有可以接受的響應(yīng)時(shí)間,則我們認(rèn)為整個系統(tǒng)的性能還是可以接受的。
注意:
Analysis
將對每個可用事務(wù)百分比的事務(wù)響應(yīng)時(shí)間取近似值。因此
Y
軸的值可能并不準(zhǔn)確。
(
四、 事務(wù)響應(yīng)時(shí)間(負(fù)載下)圖
這個圖顯示的是事務(wù)響應(yīng)時(shí)間隨著場景中虛擬用戶的逐漸增長的變化趨勢圖,該圖可以幫助我們查看 Vuser 負(fù)載對性能問題的影響。當(dāng)我們需要了解某個事務(wù)的響應(yīng)時(shí)間隨著虛擬用戶的增加而產(chǎn)生的變化時(shí),可以通過在控制臺中設(shè)置一個漸變負(fù)載的場景的方式來實(shí)現(xiàn)。
例如每 5 分鐘加載 10 個用戶等,然后考察得到的這張圖表,就能夠?qū)Υ擞幸粋€比較好的理解。
(
我只是在說這幾張圖所表示的含義,這幾張圖的名稱都比較容易看懂,用不著貼圖了吧?
事務(wù)響應(yīng)時(shí)間和每秒事務(wù)數(shù)(或單位時(shí)間的事務(wù)數(shù)),但從指標(biāo)的意義來說,應(yīng)該是互為倒數(shù)的。但是從實(shí)際測試結(jié)果的數(shù)值來看,又沒有這樣的規(guī)律。
而實(shí)際上,事務(wù)響應(yīng)時(shí)間在LR的統(tǒng)計(jì)中應(yīng)該是包括了thinktime、網(wǎng)絡(luò)時(shí)間等消耗的,而每秒事務(wù)數(shù)僅僅是在服務(wù)器端執(zhí)行的時(shí)間,由于兩者在數(shù)據(jù)的統(tǒng)計(jì)并不相同因此并不會是倒數(shù)關(guān)系。
不知道有沒有說錯?
我在上文中說的是每秒事務(wù)數(shù)圖所表示的含義,LR在運(yùn)行場景的過程中,會對每一個時(shí)間點(diǎn)采樣一次,記錄在這個時(shí)間點(diǎn)上所通過的事務(wù)數(shù),將其繪制成分析圖,這就是我們所看到的“每秒事務(wù)數(shù)圖”,而我們通常所關(guān)注的TPS值,應(yīng)該是由這些采樣值所取的平均值,這樣看來,事務(wù)響應(yīng)時(shí)間和每秒事務(wù)數(shù)肯定不會是簡單的倒數(shù)關(guān)系。
有關(guān)于每秒事務(wù)數(shù)的問題。每秒事務(wù)數(shù)=事務(wù)總數(shù)/運(yùn)行時(shí)間。這里的運(yùn)行時(shí)間應(yīng)該是指場景從開始到結(jié)束的時(shí)間。因?yàn)榘凑諑椭募械拿枋觥懊棵胧聞?wù)數(shù)圖顯示在場景或會話步驟運(yùn)行的每一秒中,每個事務(wù)通過、失敗以及停止的次數(shù)。” 也就是說,在場景運(yùn)行中,截取某一個點(diǎn) 來統(tǒng)計(jì)當(dāng)前完成的事務(wù)數(shù)。所以整個的時(shí)間范圍應(yīng)該是場景運(yùn)行時(shí)間。而不是服務(wù)器的運(yùn)行時(shí)間。
我這樣說的證據(jù)是,我觀察了以前測試過的很多場景,都是總的事務(wù)數(shù)/場景運(yùn)行時(shí)間=每秒事務(wù)數(shù)。
另外再說一個我的問題:虛擬用戶數(shù)、響應(yīng)時(shí)間、每秒事務(wù)數(shù)的關(guān)系。
一個虛擬用戶在場景中運(yùn)行,無非要做以下事情:初始化、迭代Action、結(jié)束。迭代運(yùn)行時(shí),包含額外的記錄日志功能。(腳本中沒有ThinkTime)。
按照這樣的理論,去掉日志功能。那么就應(yīng)該有以下的關(guān)系:虛擬用戶數(shù)/響應(yīng)時(shí)間=每秒完成的事務(wù)數(shù)。但在時(shí)間的場景分析中,發(fā)現(xiàn)上述的關(guān)系不成立,不知道是什么原因?
關(guān)于你說的第一個問題,按照幫助文件中的說法,可能我在上文中表述的意思有些模糊,其實(shí)我的理解是這樣的:在場景運(yùn)行的整個過程中,LR都會對每一個時(shí)間點(diǎn)采樣一次,取在這個時(shí)間點(diǎn)上通過的事務(wù)數(shù),然后畫一個分析圖。而你說的“總的事務(wù)數(shù)/場景運(yùn)行時(shí)間=每秒事務(wù)數(shù)。 ”我不清楚你說的這個“每秒事務(wù)數(shù)”是從哪里得到的,如果是TPS圖下方的平均值,我認(rèn)為這個值應(yīng)該是這些采樣值的平均,而不是這樣得到的。當(dāng)然也有可能是我理解的錯誤,歡迎繼續(xù)討論,希望我們最終能得到一個正確的結(jié)論。
至于你的第二個問題,我不太理解你的意思,,虛擬用戶數(shù)和完成的事務(wù)數(shù)并沒有確實(shí)的對應(yīng)關(guān)系,一個虛擬用戶執(zhí)行的腳本中可能包含多個事務(wù)(有時(shí)還會包括init和end事務(wù)),所以你說的“虛擬用戶數(shù)/響應(yīng)時(shí)間=每秒完成的事務(wù)數(shù)”,是沒有什么根據(jù)的。
如果這樣的話,事務(wù)響應(yīng)時(shí)間和每秒事務(wù)數(shù)都不是通過場景時(shí)間、事務(wù)數(shù)的除法算出來的,而是分別通過對采樣點(diǎn)的計(jì)數(shù)和采樣點(diǎn)的數(shù)值得到的。既然如此的話,應(yīng)該就不存在什么關(guān)系了。
精通一個測試工具,真的是一門很深的學(xué)問啊。
“LR都會對每一個時(shí)間點(diǎn)采樣一次,取在這個時(shí)間點(diǎn)上通過的事務(wù)數(shù)”這個說法看一下分析圖就可以得出來的,而我以前可能過分關(guān)注了平均值,忽略了場景運(yùn)行過程中的一些數(shù)值。
ppent朋友說得不錯,精通一門測試工具,其實(shí)涉及到很多相關(guān)的內(nèi)容,是個知識面的問題。呵呵,大家一起努力吧。
呵呵,
每秒事務(wù)數(shù)圖顯示在場景或會話步驟運(yùn)行的每一秒中,每個事務(wù)通過、失敗以及停止的次數(shù)。”如果按照這句話去理解,那么上面那個問題的答案應(yīng)該是后者
應(yīng)該是前者吧.
呵呵,我寫這個已經(jīng)有一段時(shí)間了,現(xiàn)在自己再看我寫的這幾句話,也挺費(fèi)解,已經(jīng)想不起來為什么當(dāng)時(shí)會這么寫了。
現(xiàn)在想想其實(shí)我這樣的描述似乎并不是很合適,對于幫助里的這句話,僅僅從它字面上的意思就挺好理解了,沒有必要區(qū)分這里的前者和后者,我這樣描述反而可能對大家造成誤導(dǎo)了,不好意思。^o^
看Transactions per Second圖某一事務(wù)的平均值嗎?期待回答
那為什么我設(shè)置運(yùn)行15個用戶5次迭代,訪問用戶查詢頁面,Transactions Per Second顯示事務(wù):訪問用戶查詢頁面的Averager才0.101
這樣是不是該事務(wù)的每秒事務(wù)數(shù)才:0.101啊
事務(wù)數(shù)是否等于15×5(15個用戶5次迭代),如果整個案例時(shí)間為:12:22分,那么TPS=75/(12*60+12)=0.101
一個一個來吧:
1、是的。但是TPS值這么小,你要檢查一下具體的原因。如,是不是把thinktime算進(jìn)去了?你的事務(wù)定義得是否有問題?等等。
2、每秒事務(wù)數(shù)可以是每秒交易數(shù),這要看你的事務(wù)和交易分別是怎么定義的。
3、平均TPS值是這樣算的沒有錯。
1、沒有算thinktime,忽略了thinktime,事務(wù)定義是:從開始點(diǎn)擊“用戶查詢”菜單到顯示用戶查詢頁面
2、因?yàn)轫憫?yīng)時(shí)間比較長:達(dá)39秒,響應(yīng)時(shí)間很長會影響每秒事務(wù)數(shù)嗎?
每秒交易數(shù)我還不知道是如何定義的,:(,概念比較模糊
當(dāng)然會影響啊,你自己都知道TPS是事務(wù)數(shù)/時(shí)間,那么時(shí)間越大,當(dāng)然TPS就越小啦。
難道不是嗎?時(shí)間是響應(yīng)時(shí)間?那我更糊涂了
39指的是訪問查詢用戶頁面的響應(yīng)時(shí)間。
實(shí)在不好意思,:(,我上面算的是:
TPS = 事務(wù)數(shù)/整個案例時(shí)間
事務(wù)數(shù)是否等于15×5(15個用戶5次迭代),如果整個案例時(shí)間為:12:22分,那么TPS=75/(12*60+12)=0.101
其實(shí)我的意思是,響應(yīng)時(shí)間長了,也就意味著TPS低。
不是說響應(yīng)時(shí)間長會影響TPS,而是說響應(yīng)時(shí)間長了會導(dǎo)致TPS低。
也就是你要衡量的這個事務(wù)性能有問題,詳細(xì)的要再跟蹤。
TPS = 事務(wù)數(shù)/整個案例時(shí)間是對的吧?
不過我建議你找一個實(shí)際的測試結(jié)果,自己看看,會理解得更清楚些。
我當(dāng)時(shí)是這樣分析的:
當(dāng)用戶量達(dá)到一定量的時(shí)候,我的tps(每秒鐘事務(wù)數(shù))一直在50左右波動。
那么當(dāng)我有200個并發(fā)用戶的時(shí)候,等待時(shí)間最長的那個用戶的等待時(shí)間為:200/50=4秒。等待時(shí)間最短的那個用戶肯定是0.03秒以下。那么平均等待時(shí)間大概可以估算為:(200/50)/2=2秒。
按照這個想法,假設(shè)用戶數(shù)為:x,事務(wù)平均響應(yīng)時(shí)間為:y。那么y=(x/50)/2=x/100.這個方程好像就是個直線啊?