一、JMeter的安裝(Linux)
1. 下載JMeter:這個就不細說了,直接去(http://jmeter.apache.org/download_jmeter.cgi)下載。
2. 解壓:tar -zxvf apache-jmeter-2.9.tgz
3. 執行:sh jmeter.sh。
如果提示(No X11 DISPLAY variable was set, but this program performed an operation which requires it.)
恭喜你,你的JMeter圖形界面不能啟動,這里需要用命令行執行了。
具體的執行方法后面會說,首先需要錄制測試腳本。 比較方便的是在Win下面JMeter的圖形界面中錄制,或者用Badboy錄制。
二、JMeter腳本錄制
1. 創建組
a. Number of Threads(users):通過多個線程模擬多個用戶
b. Ramp-Up period(in seconds):用於告知JMeter 要在多長時間內建立全部的線程。默認值是0。如果未指定ramp-up period ,也就是說ramp-up period 為零, JMeter 將立即建立所有線程,假設ramp-up period 設置成T 秒, 全部線程數設置成N個, JMeter 將每隔T/N秒建立一個線程。
ramp-up period設置容易出現的問題:
(a). 如果設置成零,Jmeter將會在測試的開始就建立全部線程並立即發送訪問請求, 這樣一來就很容易使服務器飽和,更重要的是會隱性地增加了負載,這就意味着服務器將可能過載,不是因為平均訪問率高而是因為所有線程的第一次並發訪問而引起的不正常的初始訪問峰值。這種異常不是我們需要的,因此,確定一個合理的ramp-up period 的規則就是讓初始點擊率接近平均點擊率。當然,也許需要運行一些測試來確定合理訪問量。如果要使用大量線程,ramp-up period 一般不要設置成零。
(b). 如果ramp-up period 過大也是不恰當的,因為將會降低訪問峰值的負載,換句話說,在一些線程還未啟動時,初期啟動的部分線程可能已經結束了
(c). 合理的ramp-up period,首先推測一下平均點擊率並用總線程除點擊率來計算初始的ramp-up period。
例如,假設線程數為100, 估計的點擊率為每秒10次, 那么估計的理想ramp-up period 就是 100/10 = 10 秒。
2. 創建循環控制器
在這里用於生成可變參數。
a. Loop Count:每個線程執行的次數
當前總樣本數=Loop Count(Loop Controler)*Number of Threads*Loop Count(group)=2*100*500
3. 定義可變參數
a. Filename:參數文件名
b. Variable Names:變量名與下面的自定義變量相對應
c. Delimiter:參數文件中的參數分隔符
注意:理論上文件中的參數數量不應該小於Loop Count*Number of Threads
5. 執行腳本
將腳本文件(.jmx)和參數文件(.csv)上傳到服務器,如果未特殊指定參數文件的路徑,將二個文件放在同一個路徑下即可。
a. 命令為:sh jmeter.sh -n -t examples/41search_1.jmx -l examples/search_1_100T.jtl。
其它命令參數可查看幫助。
6. 查看結果
將生成的結果文件(search_1_100T.jtl)導出到本的,用JMeter打開查看
a. 聚合報告:具體說明見下篇