天天看點

jmeter-性能測試學習筆記1—結果分析

在網上收集了很多jmeter工具做性能測試,但還是不怎麼了解去分析性能測試的結果,然後自己用現在做的項目做了一個簡單的的壓力測試,就是同一時間多個使用者進行并發通路該頁面,然後對結果做了一些簡單的分析:

一、用百度的網頁測試200個使用者在10秒之内同時通路百度的網頁,每個使用者隻通路一次:www.baidu.com

1、首先點選測試計劃,右鍵,添加線程組,如圖:

jmeter-性能測試學習筆記1—結果分析

線程組頁面如圖:

jmeter-性能測試學習筆記1—結果分析

線程數:就是模仿使用者并發的數量,Ramp-up:運作線程的總時間,機關是秒,循環次數:就是每個線程循環多少次。

我現在的線程數是200,就是相當于有200個使用者,運作線程的總時間是10秒。也就是說在這10秒中之内200個使用者同時通路,一秒鐘有20個使用者同時通路,每個使用者循環一次,也就是通路一次。

2、點選測試計劃,右鍵添加HTTP請求的預設值:如圖

jmeter-性能測試學習筆記1—結果分析

HTTP請求預設值界面:

jmeter-性能測試學習筆記1—結果分析

協定:web的請求頭是什麼就是什麼,這裡拿百度做參考,輸入https,伺服器或IP:就輸入百度的位址就可以了

3、添加HTTP請求,滑鼠右鍵點選線程組,添加HTTP請求:

jmeter-性能測試學習筆記1—結果分析

HTTP頁面:

jmeter-性能測試學習筆記1—結果分析

協定和ip位址可以不用輸入,因為在HTTP的預設值我們已經添加了,這裡隻需要在路徑加/表示是在根目錄,不填寫IP位址就使用的預設的。

4、添加聚合報告,檢視結果樹,用表格檢視結果,右鍵點選線程,添加監聽器,如圖:

jmeter-性能測試學習筆記1—結果分析

下面就可以通過這三者進行分析:

檢視結果樹:

jmeter-性能測試學習筆記1—結果分析

通過察看結果樹,我們可以看到每個請求的結果,其中紅色的是出錯的請求,綠色的為通過。

Thread Name:線程組名稱

Sample Start: 啟動開始時間

Load time:加載時長

Latency:等待時長

Size in bytes:發送的資料總大小

Headers size in bytes:發送資料的其餘部分大小

Sample Count:發送統計

Error Count:互動錯誤統計

Response code:傳回碼

Response message:傳回資訊

Response headers:傳回的頭部資訊

這裡綠色的就說明請求是通過的,傳回值是200,如果出現紅色的×就說明請求失敗,這時候可以通過右邊的取樣器結果和響應資料來檢視結果。

聚合報告分析:

jmeter-性能測試學習筆記1—結果分析

這裡可以看到很多資料,相關名詞解釋如下:

Sample:本次測試場景共運作多少線程;

 Average:平均響應時間; 

 Median:統計意義上的響應時間中值;

  90% line:所有線程中90%的線程響應時間都小于xx的值;

  Min:響應最小時間;

 Max:響應最大時間;

 Error:出錯率;

Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”來衡量。 時間機關已經被選取為second,是以,顯示速率至少是1.0,即每秒1個請求。 當吞吐量被儲存到CVS檔案時,采用的是requests/second,是以30.0 requests/second 在CVS中被儲存為0.5

Kb/sec - 以Kilobytes/seond來衡量的吞吐量

200個使用者在10秒中同時通路百度的頁面,平均響應時間是85毫秒,最大的響應時間841毫秒,最小的響應時間是37毫秒,錯誤率為0,說明百度網頁 的性能還是不錯的,每個頁面都能很快的得到響應,不用1秒鐘。

用表格檢視結果:

jmeter-性能測試學習筆記1—結果分析

名詞解釋如下:

Sample:每個請求的序号

Start Time:每個請求開始時間

Thread Name:每個線程的名稱

Label:Http請求名稱

Sample Time:每個請求所花時間,機關毫秒

Status:請求狀态,如果為勾則表示成功,如果為叉表示失敗。

Bytes:請求的位元組數

樣本數目:也就是上面所說的請求個數,成功的情況下等于你設定的并發數目乘以循環次數

平均:每個線程請求的平均時間

最新樣本:表示伺服器響應最後一個請求的時間

偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是資料的分布。

在這裡面可以看到,線程組名稱,每個線程響應時間,傳回結果是否成功,位元組數等。

如何隻清楚部分資料:

點選左邊要清楚的選項,比如,清楚上一次百度頁面測試的聚合報告,點選聚合報,然後點選工具欄的掃把圖示即可,這個隻是清楚你選擇的内容。

jmeter-性能測試學習筆記1—結果分析

如果要清楚整個線程的結果資料,就直接選擇該線程組,點選有兩把掃把的圖示即可。

二、用淘寶的頁面來測試200個使用者在10秒鐘之内同時通路該網址:www.taobao.com

可以重新走上面的步驟,在建一個線程組,也可以直接把聚合報告結果清楚掉,把IP位址更換成淘寶位址,然後運作即可。

200個使用者在10秒中同時通路淘寶的網頁,得到的聚合報告結果如下:

jmeter-性能測試學習筆記1—結果分析

平均的響應時間是283毫秒,最大的響應時間是547毫秒,最小的響應時間是246毫秒,錯誤率為0,比百度的網頁的響應時間要快點。

三、用公司目前做的項目做了一個壓力測試,同樣是200使用者在10秒中之内通路該網頁,得到結果如下:

jmeter-性能測試學習筆記1—結果分析

平均的響應時間是16754毫秒也就相當于是16秒,最大的響應時間是47秒,最小的響應時間是564毫秒。

從百度,淘寶,公司項目來做比較,我們公司項目的性能還是有待提高,同樣是200個使用者在10秒鐘之内通路,雖然都得到了響應,但是等待的時間很長。

然後從這三者在增加線程數去做比較,增加到500個使用者10秒鐘之内同時通路:

jmeter-性能測試學習筆記1—結果分析

公司的項目最大響應時間是122秒,最小響應時間是542毫秒,且有百分之14.14的錯誤率,也就是說500個使用者是有使用者請求響應是失敗的,然後我們從檢視結果樹可以看出響應資料:

jmeter-性能測試學習筆記1—結果分析

看來,公司的項目性能有待提高呀。

百度,淘寶,等網址我就不測了,都是一樣的測法,然後根據聚合報告去分析。以上是個人總結的壓力測試,這隻是簡單的一個同時通路的網頁的性能。

在網上收集了很多jmeter工具做性能測試,但還是不怎麼了解去分析性能測試的結果,然後自己用現在做的項目做了一個簡單的的壓力測試,就是同一時間多個使用者進行并發通路該頁面,然後對結果做了一些簡單的分析:

一、用百度的網頁測試200個使用者在10秒之内同時通路百度的網頁,每個使用者隻通路一次:www.baidu.com

1、首先點選測試計劃,右鍵,添加線程組,如圖:

jmeter-性能測試學習筆記1—結果分析

線程組頁面如圖:

jmeter-性能測試學習筆記1—結果分析

線程數:就是模仿使用者并發的數量,Ramp-up:運作線程的總時間,機關是秒,循環次數:就是每個線程循環多少次。

我現在的線程數是200,就是相當于有200個使用者,運作線程的總時間是10秒。也就是說在這10秒中之内200個使用者同時通路,一秒鐘有20個使用者同時通路,每個使用者循環一次,也就是通路一次。

2、點選測試計劃,右鍵添加HTTP請求的預設值:如圖

jmeter-性能測試學習筆記1—結果分析

HTTP請求預設值界面:

jmeter-性能測試學習筆記1—結果分析

協定:web的請求頭是什麼就是什麼,這裡拿百度做參考,輸入https,伺服器或IP:就輸入百度的位址就可以了

3、添加HTTP請求,滑鼠右鍵點選線程組,添加HTTP請求:

jmeter-性能測試學習筆記1—結果分析

HTTP頁面:

jmeter-性能測試學習筆記1—結果分析

協定和ip位址可以不用輸入,因為在HTTP的預設值我們已經添加了,這裡隻需要在路徑加/表示是在根目錄,不填寫IP位址就使用的預設的。

4、添加聚合報告,檢視結果樹,用表格檢視結果,右鍵點選線程,添加監聽器,如圖:

jmeter-性能測試學習筆記1—結果分析

下面就可以通過這三者進行分析:

檢視結果樹:

jmeter-性能測試學習筆記1—結果分析

通過察看結果樹,我們可以看到每個請求的結果,其中紅色的是出錯的請求,綠色的為通過。

Thread Name:線程組名稱

Sample Start: 啟動開始時間

Load time:加載時長

Latency:等待時長

Size in bytes:發送的資料總大小

Headers size in bytes:發送資料的其餘部分大小

Sample Count:發送統計

Error Count:互動錯誤統計

Response code:傳回碼

Response message:傳回資訊

Response headers:傳回的頭部資訊

這裡綠色的就說明請求是通過的,傳回值是200,如果出現紅色的×就說明請求失敗,這時候可以通過右邊的取樣器結果和響應資料來檢視結果。

聚合報告分析:

jmeter-性能測試學習筆記1—結果分析

這裡可以看到很多資料,相關名詞解釋如下:

Sample:本次測試場景共運作多少線程;

 Average:平均響應時間; 

 Median:統計意義上的響應時間中值;

  90% line:所有線程中90%的線程響應時間都小于xx的值;

  Min:響應最小時間;

 Max:響應最大時間;

 Error:出錯率;

Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”來衡量。 時間機關已經被選取為second,是以,顯示速率至少是1.0,即每秒1個請求。 當吞吐量被儲存到CVS檔案時,采用的是requests/second,是以30.0 requests/second 在CVS中被儲存為0.5

Kb/sec - 以Kilobytes/seond來衡量的吞吐量

200個使用者在10秒中同時通路百度的頁面,平均響應時間是85毫秒,最大的響應時間841毫秒,最小的響應時間是37毫秒,錯誤率為0,說明百度網頁 的性能還是不錯的,每個頁面都能很快的得到響應,不用1秒鐘。

用表格檢視結果:

jmeter-性能測試學習筆記1—結果分析

名詞解釋如下:

Sample:每個請求的序号

Start Time:每個請求開始時間

Thread Name:每個線程的名稱

Label:Http請求名稱

Sample Time:每個請求所花時間,機關毫秒

Status:請求狀态,如果為勾則表示成功,如果為叉表示失敗。

Bytes:請求的位元組數

樣本數目:也就是上面所說的請求個數,成功的情況下等于你設定的并發數目乘以循環次數

平均:每個線程請求的平均時間

最新樣本:表示伺服器響應最後一個請求的時間

偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是資料的分布。

在這裡面可以看到,線程組名稱,每個線程響應時間,傳回結果是否成功,位元組數等。

如何隻清楚部分資料:

點選左邊要清楚的選項,比如,清楚上一次百度頁面測試的聚合報告,點選聚合報,然後點選工具欄的掃把圖示即可,這個隻是清楚你選擇的内容。

jmeter-性能測試學習筆記1—結果分析

如果要清楚整個線程的結果資料,就直接選擇該線程組,點選有兩把掃把的圖示即可。

二、用淘寶的頁面來測試200個使用者在10秒鐘之内同時通路該網址:www.taobao.com

可以重新走上面的步驟,在建一個線程組,也可以直接把聚合報告結果清楚掉,把IP位址更換成淘寶位址,然後運作即可。

200個使用者在10秒中同時通路淘寶的網頁,得到的聚合報告結果如下:

jmeter-性能測試學習筆記1—結果分析

平均的響應時間是283毫秒,最大的響應時間是547毫秒,最小的響應時間是246毫秒,錯誤率為0,比百度的網頁的響應時間要快點。

三、用公司目前做的項目做了一個壓力測試,同樣是200使用者在10秒中之内通路該網頁,得到結果如下:

jmeter-性能測試學習筆記1—結果分析

平均的響應時間是16754毫秒也就相當于是16秒,最大的響應時間是47秒,最小的響應時間是564毫秒。

從百度,淘寶,公司項目來做比較,我們公司項目的性能還是有待提高,同樣是200個使用者在10秒鐘之内通路,雖然都得到了響應,但是等待的時間很長。

然後從這三者在增加線程數去做比較,增加到500個使用者10秒鐘之内同時通路:

jmeter-性能測試學習筆記1—結果分析

公司的項目最大響應時間是122秒,最小響應時間是542毫秒,且有百分之14.14的錯誤率,也就是說500個使用者是有使用者請求響應是失敗的,然後我們從檢視結果樹可以看出響應資料:

jmeter-性能測試學習筆記1—結果分析

看來,公司的項目性能有待提高呀。

百度,淘寶,等網址我就不測了,都是一樣的測法,然後根據聚合報告去分析。以上是個人總結的壓力測試,這隻是簡單的一個同時通路的網頁的性能。