1.壓力測試工具 jmeter
版本:Apache JMeter 2.10
2.運行環境
1)windows7
2)java version 1.7.0_80
3.創建測試計划
以秒殺活動為例,測試100個用戶同時下單時服務器的負載情況
1)確定請求地址:正常的下單流程:用戶登錄網站(http://xxxx/login)
=》選擇某個商品並點擊購買(http://xxx/cart/quick-buy.html)
=》選擇某種支付方式(http://xxxx/checkout/change-payment)
=》下單(http://xxx/checkout/submit)
2)創建測試計划:
I.創建線程

II.設置線程組參數

參數說明:
線程數:100; 啟動100個線程
Ramp-Up Period (in seconds): 1; 1秒內啟動100個線程,為0時代表同時啟動100個線程
循環次數: 勾選“永遠”時,線程組會一直執行,為x時,代表會執行x次線程數為100的線程組
III.添加線程組的配置元件

配置元件作用:
HTTP Cookie管理器:自動保存登錄時網站設置的cookie
HTTP 信息頭管理器:可以設置請求頭部信息。如可以通過設置user-agent來模擬各種瀏覽器
IV.添加http請求

1)用戶登錄
確定登錄的請求參數:

設置登錄的請求參數:

添加數據源:

設置數據源參數:

數據源文件內容為:

2)用戶選擇商品

3)選擇支付方式

4)確認購買(提交訂單信息)

5)添加定時器

編輯定時器參數

number of Simulated Users to Group by :100 //線程數達到100個后,再同時訪問某個http請求
6)添加察看結果樹和聚合報告


聚合報告參數說明:
Lable:Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值;
#Samples:表示這次測試中一共發出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100;【我的是用戶有100,只迭代一次,因此也是100】
Average:平均響應時間——默認情況下是單個 Request 的平均響應時間,當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應時間;
Median:中位數,也就是 50% 用戶的響應時間;
90% Line ~ 99% Line:90% ~99%用戶的響應時間不大於這個值;
Min:最小響應時間;
Maximum:最大響應時間;
Error%:本次測試中出現的錯誤率,即 錯誤的請求的數量/請求的總數;
Throughput:吞吐量——默認情況下表示每秒完成的請求數(Request per Second),當使用了 Transaction ;
Received KB/src:每秒從服務器端接收到的數據量;
Sent KB/src:每秒從客戶端發送的請求的數量。
7)其它說明
1.線程組下的HTTP Cookie管理器、HTTP信息頭管理器、Synchronizing Timer 定時器、對該線程組下的每個http請求都起作用。
2.線程組下的http請求會按照順序依次執行
4.運行測試計划

