[size=medium]JMeter是一個開源的web性能測試功能,它可以用于對伺服器,網絡或其他軟體對象模拟繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。
下面是我使用JMeter的筆記,更詳細的還可以參考www.cnblogs.com/fnng/category/345478.html
[color=red]1、簡單http請求QPS響應測試[/color]
QPS(每秒查詢率)是一台查詢伺服器每秒能夠處理的查詢次數。在網際網路上,作為域名系統伺服器的機器的性能經常用每秒查詢率來衡量。
需要元件:線程組、HTTP請求、常數吞吐量定時器、聚合報、告檢視結果樹
參數設定(20QPS):
(1)線程組(測試計劃->Thread->線程組):
線程數:20
準備時長: 10
循環次數:10
---------------------------------------------------------------
(2)HTTP請求(線程組->sample->HTTP請求)
名稱:test_http
伺服器名稱或IP :ip位址
端口号:80
Implementation : java
協定: http
方法: GET
路徑:/
---------------------------------------------------------------
(3)常數吞吐量定時器:(線程組->添加--->定時器--->Constant Throughput Timer)
Target throughput(in samples per minute):1200.0
Calculate Throughput based on :All active threads
---------------------------------------------------------------
(4)聚合報告(線程組->添加--->監聽器--->聚合報告)。
點選運作按鈕生成聚合報告,檢視報告可以看到響應資料。
[color=red]2、通過JMeter自身設定來錄制腳本。[/color]
需要的元件:線程組、HTTP資訊頭管理器、HTTP Cookie管理器、HTTP請求預設值、錄制控制器、聚合報告、檢視結果樹,HTTP代理伺服器
(1)錄制:
先添加上述所有元件,如下圖;
然後設定步驟如下:
HTTP請求預設值:域名(通路位址)、端口、請求協定:Client3.1;HTTP
設定浏覽器區域網路代理,打開Internet屬性>區域網路代理設定>代理伺服器中設定位址:localhost,位址:8080
在“HTTP代理伺服器”中過濾一些請求(在排除模式或包含模式裡添加url),如上圖排除模式所示
點選“運作”,然後在浏覽器上打開網頁進行請求,若是web聊天視窗可以在網頁上輸入消息,回放運作時會不斷運作發送消息的請求。
儲存錄制的結果為jmx格式檔案,下次可打開回放。
(2)回放運作:
設定線程組參數,如
線程數:20
準備時長: 1
循環次數:2
點選運作按鈕,開始模拟發送請求
在“檢視結果樹”中可以看到請求封包以及響應結果。
我用這個軟體來模拟多個客戶通過網頁上的聊天視窗發送消息,在錄制時運作HTTP代理伺服器時,打開網頁輸入消息資料,回放時設定線程組的線程數為100,即為100個客戶,循環次數為20,即為每個客戶循環發送20次錄制時的消息。進行類似這樣的壓力測試非常友善[/size]