1 安裝並配置Jmeter
Jmeter的安裝不在這里闡述,安裝步驟非常簡單。
直接進入主題
1.1 數據庫連接配置
由於測試過程需要調用數據庫獲取響應部署數據,因此需要先建立與數據庫的連接。 如果不涉及數據操作,可以跳過此步驟。
步驟1:打開jmeter開源性能測試工具,測試計划->添加線程組
步驟2:添加jdbc request請求 –>添加JCBC connection Configuration 數據庫連接配置
步驟3:配置jdbc request請求,添加sql查詢語句
舉例Sql語句:
select DISTINCT A.XX,A.XX,B.XX,A.XXX
from Table A
left join
(select XX,XX,XX,XXX from TableB) as B
on A.XXX=B.XXX
where XX like 'KKK%';
步驟4:添加后置處理器 JDBC Request->后置處理器-> BeanShell PostProcessor
對選擇出來的數據進行參數化處理。
import java.util.ArrayList; String count_DB = vars.get("var_#"); int count = Integer.parseInt(count_DB); ArrayList 變量ANoArray = new ArrayList(); ArrayList 變量BNoArray = new ArrayList(); for(int i=0;i<count;i++){ String 變量A= String.valueOf(vars.getObject("result").get(i).get("變量A")); String 變量B= String.valueOf(vars.getObject("result").get(i).get("變量B")); 變量ANoArray.add(變量A); 變量BNoArray.add(變量B); } vars.putObject("變量ANoArray",變量ANoArray); vars.putObject("變量BNoArray",變量BNoArray);
1.2http請求配置
步驟1:增加循環循環控制器 線程組->邏輯控制器->循環控制器
步驟2:添加自增計數器
步驟3:添加Constant Throughput Timer (常數吞吐量定時器)
Target throughput(in samples per minute):目標吞吐量。注意這里是每分鍾發送的請求數,因此,對應測試需求中所要求的1000/s,這里的值應該是 60000。
注意:
Constant Throughput Timer只有在線程組中的線程產生足夠多的request 的情況下才有意義,因此,即使設置了Constant Throughput Timer的值,也可能由於線程組中的線程數量不夠導致沒有生效。實測,一個線程可以啟動10-20的並發,那么一個可設置300個線程左右。
步驟4:添加http請求
注意json格式的需要增加 http信息頭管理器,Content-Type設置為application/json。
http的詳細請求中根據業務的接口報文來添加數據,主要添加如下:
請求地址
URL
端口
請求報文
步驟5:添加前置處理器 http請求->前置處理器-> BeanShell PreProcessor
根據jdbc請求出來的數據,參數化,實現批量數據操作
import java.util.ArrayList; String Counter_DB = vars.get("Counter"); int Counter_1 = Integer.parseInt(Counter_DB); int Counter = Counter_1-1; log.info("……………Counter………"+Counter); ArrayList 變量ANoArray = vars.getObject("變量ANoArray"); ArrayList 變量BNoArray = vars.getObject("變量BNoArray"); String 變量A= 變量ANoArray.get(Counter); String 變量B= 變量BNoArray.get(Counter); vars.put("變量A",變量A); vars.put("變量B",變量B); log.info("……………變量A………"+變量A); log.info("……………變量B………"+變量B);
步驟6:添加BeanShell Sampler實現請求數據的MD5加密
如果請求中的數據涉及md5加密,Jmeter自身沒有實現MD5加密的函數,可以自定義一個jar包
參考:http://blog.csdn.net/yuanwq2012/article/details/51252649
注: MD5加密包放到此目錄下,重啟Jmeter即可生效。
apache-jmeter-3.2\apache-jmeter-3.2\lib
3.3添加監控數據
在服務器上啟動agent,作為服務端:
cd JmeterAgent/
./startAgent.sh –sysinfo
Jmeter 作為客戶端連接服務器:
首先,需要獲取JMeterPlugins-Standard-1.4.0插件包,並解壓到本地任一目錄下如D:\software\apache-jmeter-3.2\apache-jmeter-3.2\lib\ext目錄下,重啟Jmeter生效。
3.4 性能測試執行&數據收集
點擊Jmeter的啟動按鈕,啟動測試,測試過程注意觀察請求結果是否有報錯。測試結果如果不達標,則需要進行性能調優。