在網上收集了不少jmeter工具作性能測試,但仍是不怎麼了解去分析性能測試的結果,而後本身用如今作的項目作了一個簡單的的壓力測試,就是同一時間多個用戶進行併發訪問該頁面,而後對結果作了一些簡單的分析:web
1、用百度的網頁測試200個用戶在10秒以內同時訪問百度的網頁,每一個用戶只訪問一次:www.baidu.com服務器
一、首先點擊測試計劃,右鍵,添加線程組,如圖:併發
線程組頁面如圖:工具
線程數:就是模仿用戶併發的數量,Ramp-up:運行線程的總時間,單位是秒,循環次數:就是每一個線程循環多少次。性能
我如今的線程數是200,就是至關於有200個用戶,運行線程的總時間是10秒。也就是說在這10秒中以內200個用戶同時訪問,一秒鐘有20個用戶同時訪問,每一個用戶循環一次,也就是訪問一次。測試
二、點擊測試計劃,右鍵添加HTTP請求的默認值:如圖線程
HTTP請求默認值界面:3d
協議:web的請求頭是什麼就是什麼,這裏拿百度作參考,輸入https,服務器或IP:就輸入百度的地址就能夠了code
三、添加HTTP請求,鼠標右鍵點擊線程組,添加HTTP請求:blog
HTTP頁面:
協議和ip地址能夠不用輸入,由於在HTTP的默認值咱們已經添加了,這裏只須要在路徑加/表示是在根目錄,不填寫IP地址就使用的默認的。
四、添加聚合報告,查看結果樹,用表格查看結果,右鍵點擊線程,添加監聽器,如圖:
下面就能夠經過這三者進行分析:
查看結果樹:
經過察看結果樹,咱們能夠看到每一個請求的結果,其中紅色的是出錯的請求,綠色的爲經過。
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:請求的字節數
樣本數目:也就是上面所說的請求個數,成功的狀況下等於你設定的併發數目乘以循環次數
平均:每一個線程請求的平均時間
最新樣本:表示服務器響應最後一個請求的時間
偏離:服務器響應時間變化、離散程度測量值的大小,或者,換句話說,就是數據的分佈。
在這裏面能夠看到,線程組名稱,每一個線程響應時間,返回結果是否成功,字節數等。
如何只清楚部分數據:
點擊左邊要清楚的選項,好比,清楚上一次百度頁面測試的聚合報告,點擊聚合報,而後點擊工具欄的掃把圖標便可,這個只是清楚你選擇的內容。
若是要清楚整個線程的結果數據,就直接選擇該線程組,點擊有兩把掃把的圖標便可。
2、用淘寶的頁面來測試200個用戶在10秒鐘以內同時訪問該網址:www.taobao.com
能夠從新走上面的步驟,在建一個線程組,也能夠直接把聚合報告結果清楚掉,把IP地址更換成淘寶地址,而後運行便可。
200個用戶在10秒中同時訪問淘寶的網頁,獲得的聚合報告結果以下:
平均的響應時間是283毫秒,最大的響應時間是547毫秒,最小的響應時間是246毫秒,錯誤率爲0,比百度的網頁的響應時間要快點。
3、用公司目前作的項目作了一個壓力測試,一樣是200用戶在10秒中以內訪問該網頁,獲得結果以下:
平均的響應時間是16754毫秒也就至關因而16秒,最大的響應時間是47秒,最小的響應時間是564毫秒。
從百度,淘寶,公司項目來作比較,咱們公司項目的性能仍是有待提升,一樣是200個用戶在10秒鐘以內訪問,雖然都獲得了響應,可是等待的時間很長。
而後從這三者在增長線程數去作比較,增長到500個用戶10秒鐘以內同時訪問:
公司的項目最大響應時間是122秒,最小響應時間是542毫秒,且有百分之14.14的錯誤率,也就是說500個用戶是有用戶請求響應是失敗的,而後咱們從查看結果樹能夠看出響應數據:
看來,公司的項目性能有待提升呀。
百度,淘寶,等網址我就不測了,都是同樣的測法,而後根據聚合報告去分析。以上是我的總結的壓力測試,這只是簡單的一個同時訪問的網頁的性能。