在網上收集了很多jmeter工具做性能測試,但還是不怎麼了解去分析性能測試的結果,然後自己用現在做的項目做了一個簡單的的壓力測試,就是同一時間多個使用者進行并發通路該頁面,然後對結果做了一些簡單的分析:
一、用百度的網頁測試200個使用者在10秒之内同時通路百度的網頁,每個使用者隻通路一次:www.baidu.com
1、首先點選測試計劃,右鍵,添加線程組,如圖:

線程組頁面如圖:
線程數:就是模仿使用者并發的數量,Ramp-up:運作線程的總時間,機關是秒,循環次數:就是每個線程循環多少次。
我現在的線程數是200,就是相當于有200個使用者,運作線程的總時間是10秒。也就是說在這10秒中之内200個使用者同時通路,一秒鐘有20個使用者同時通路,每個使用者循環一次,也就是通路一次。
2、點選測試計劃,右鍵添加HTTP請求的預設值:如圖
HTTP請求預設值界面:
協定:web的請求頭是什麼就是什麼,這裡拿百度做參考,輸入https,伺服器或IP:就輸入百度的位址就可以了
3、添加HTTP請求,滑鼠右鍵點選線程組,添加HTTP請求:
HTTP頁面:
協定和ip位址可以不用輸入,因為在HTTP的預設值我們已經添加了,這裡隻需要在路徑加/表示是在根目錄,不填寫IP位址就使用的預設的。
4、添加聚合報告,檢視結果樹,用表格檢視結果,右鍵點選線程,添加監聽器,如圖:
下面就可以通過這三者進行分析:
檢視結果樹:
通過察看結果樹,我們可以看到每個請求的結果,其中紅色的是出錯的請求,綠色的為通過。
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,如果出現紅色的×就說明請求失敗,這時候可以通過右邊的取樣器結果和響應資料來檢視結果。
聚合報告分析:
這裡可以看到很多資料,相關名詞解釋如下:
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秒鐘。
用表格檢視結果:
名詞解釋如下:
Sample:每個請求的序号
Start Time:每個請求開始時間
Thread Name:每個線程的名稱
Label:Http請求名稱
Sample Time:每個請求所花時間,機關毫秒
Status:請求狀态,如果為勾則表示成功,如果為叉表示失敗。
Bytes:請求的位元組數
樣本數目:也就是上面所說的請求個數,成功的情況下等于你設定的并發數目乘以循環次數
平均:每個線程請求的平均時間
最新樣本:表示伺服器響應最後一個請求的時間
偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是資料的分布。
在這裡面可以看到,線程組名稱,每個線程響應時間,傳回結果是否成功,位元組數等。
如何隻清楚部分資料:
點選左邊要清楚的選項,比如,清楚上一次百度頁面測試的聚合報告,點選聚合報,然後點選工具欄的掃把圖示即可,這個隻是清楚你選擇的内容。
如果要清楚整個線程的結果資料,就直接選擇該線程組,點選有兩把掃把的圖示即可。
二、用淘寶的頁面來測試200個使用者在10秒鐘之内同時通路該網址:www.taobao.com
可以重新走上面的步驟,在建一個線程組,也可以直接把聚合報告結果清楚掉,把IP位址更換成淘寶位址,然後運作即可。
200個使用者在10秒中同時通路淘寶的網頁,得到的聚合報告結果如下:
平均的響應時間是283毫秒,最大的響應時間是547毫秒,最小的響應時間是246毫秒,錯誤率為0,比百度的網頁的響應時間要快點。
三、用公司目前做的項目做了一個壓力測試,同樣是200使用者在10秒中之内通路該網頁,得到結果如下:
平均的響應時間是16754毫秒也就相當于是16秒,最大的響應時間是47秒,最小的響應時間是564毫秒。
從百度,淘寶,公司項目來做比較,我們公司項目的性能還是有待提高,同樣是200個使用者在10秒鐘之内通路,雖然都得到了響應,但是等待的時間很長。
然後從這三者在增加線程數去做比較,增加到500個使用者10秒鐘之内同時通路:
公司的項目最大響應時間是122秒,最小響應時間是542毫秒,且有百分之14.14的錯誤率,也就是說500個使用者是有使用者請求響應是失敗的,然後我們從檢視結果樹可以看出響應資料:
看來,公司的項目性能有待提高呀。
百度,淘寶,等網址我就不測了,都是一樣的測法,然後根據聚合報告去分析。以上是個人總結的壓力測試,這隻是簡單的一個同時通路的網頁的性能。
在網上收集了很多jmeter工具做性能測試,但還是不怎麼了解去分析性能測試的結果,然後自己用現在做的項目做了一個簡單的的壓力測試,就是同一時間多個使用者進行并發通路該頁面,然後對結果做了一些簡單的分析:
一、用百度的網頁測試200個使用者在10秒之内同時通路百度的網頁,每個使用者隻通路一次:www.baidu.com
1、首先點選測試計劃,右鍵,添加線程組,如圖:

線程組頁面如圖:
線程數:就是模仿使用者并發的數量,Ramp-up:運作線程的總時間,機關是秒,循環次數:就是每個線程循環多少次。
我現在的線程數是200,就是相當于有200個使用者,運作線程的總時間是10秒。也就是說在這10秒中之内200個使用者同時通路,一秒鐘有20個使用者同時通路,每個使用者循環一次,也就是通路一次。
2、點選測試計劃,右鍵添加HTTP請求的預設值:如圖
HTTP請求預設值界面:
協定:web的請求頭是什麼就是什麼,這裡拿百度做參考,輸入https,伺服器或IP:就輸入百度的位址就可以了
3、添加HTTP請求,滑鼠右鍵點選線程組,添加HTTP請求:
HTTP頁面:
協定和ip位址可以不用輸入,因為在HTTP的預設值我們已經添加了,這裡隻需要在路徑加/表示是在根目錄,不填寫IP位址就使用的預設的。
4、添加聚合報告,檢視結果樹,用表格檢視結果,右鍵點選線程,添加監聽器,如圖:
下面就可以通過這三者進行分析:
檢視結果樹:
通過察看結果樹,我們可以看到每個請求的結果,其中紅色的是出錯的請求,綠色的為通過。
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,如果出現紅色的×就說明請求失敗,這時候可以通過右邊的取樣器結果和響應資料來檢視結果。
聚合報告分析:
這裡可以看到很多資料,相關名詞解釋如下:
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秒鐘。
用表格檢視結果:
名詞解釋如下:
Sample:每個請求的序号
Start Time:每個請求開始時間
Thread Name:每個線程的名稱
Label:Http請求名稱
Sample Time:每個請求所花時間,機關毫秒
Status:請求狀态,如果為勾則表示成功,如果為叉表示失敗。
Bytes:請求的位元組數
樣本數目:也就是上面所說的請求個數,成功的情況下等于你設定的并發數目乘以循環次數
平均:每個線程請求的平均時間
最新樣本:表示伺服器響應最後一個請求的時間
偏離:伺服器響應時間變化、離散程度測量值的大小,或者,換句話說,就是資料的分布。
在這裡面可以看到,線程組名稱,每個線程響應時間,傳回結果是否成功,位元組數等。
如何隻清楚部分資料:
點選左邊要清楚的選項,比如,清楚上一次百度頁面測試的聚合報告,點選聚合報,然後點選工具欄的掃把圖示即可,這個隻是清楚你選擇的内容。
如果要清楚整個線程的結果資料,就直接選擇該線程組,點選有兩把掃把的圖示即可。
二、用淘寶的頁面來測試200個使用者在10秒鐘之内同時通路該網址:www.taobao.com
可以重新走上面的步驟,在建一個線程組,也可以直接把聚合報告結果清楚掉,把IP位址更換成淘寶位址,然後運作即可。
200個使用者在10秒中同時通路淘寶的網頁,得到的聚合報告結果如下:
平均的響應時間是283毫秒,最大的響應時間是547毫秒,最小的響應時間是246毫秒,錯誤率為0,比百度的網頁的響應時間要快點。
三、用公司目前做的項目做了一個壓力測試,同樣是200使用者在10秒中之内通路該網頁,得到結果如下:
平均的響應時間是16754毫秒也就相當于是16秒,最大的響應時間是47秒,最小的響應時間是564毫秒。
從百度,淘寶,公司項目來做比較,我們公司項目的性能還是有待提高,同樣是200個使用者在10秒鐘之内通路,雖然都得到了響應,但是等待的時間很長。
然後從這三者在增加線程數去做比較,增加到500個使用者10秒鐘之内同時通路:
公司的項目最大響應時間是122秒,最小響應時間是542毫秒,且有百分之14.14的錯誤率,也就是說500個使用者是有使用者請求響應是失敗的,然後我們從檢視結果樹可以看出響應資料:
看來,公司的項目性能有待提高呀。
百度,淘寶,等網址我就不測了,都是一樣的測法,然後根據聚合報告去分析。以上是個人總結的壓力測試,這隻是簡單的一個同時通路的網頁的性能。