xx網關接口測試
測試前必使用Server+Agent,分布式壓力方式進行壓力測試,并啟動相應的端口。
接口測試方法
執行機(slave)配置:
- 啟動bin目錄下的:meter-server.bat
- 可以自定義端口號:jmeter.properties文件,修改如下兩個配置項,比如我這里修改為1888:server_port=1888,server.rmi.localport=1888
調度機配置
修改C:\Program Files\apache-jmeter-2.13\bin目錄下的jmeter.properties文件中的remote_hosts=localhost:1099,192.168.27.111:1099,10.10.45.81:1099,10.10.45.20:1099,多臺slave之前使用 ‘, ‘ 隔開
-
第一種:非GUI運行
運行方法:cmd->cd <jmeter/bin路徑>->jmeter -t "JMS Point-to-Point.jmx" -n -l testresult.csv -r
參數詳解:
20180730213149.png第二種:GUI運行
直接運行jmeter.bat
ps
:建議第一種方法運行,由于Jmeter是一個純JAVA的應用,用GUI模式運行壓力測試時,對客戶端的資源消耗是相當驚人的,所以在進行正式的壓測時一定要使用non-gui模式運行
分布式執行原理
- Jmeter分布式測試時,選擇其中一臺作為調度機(master),其它機器做為執行機(slave)。
- 執行時,master會把腳本發送到每臺slave上,slave 拿到腳本后就開始執行,slave執行時不需要啟動GUI,我理解它應該是通過命令行模式執行的。
- 執行完成后,slave會把結果回傳給master,master會收集所有slave的信息并匯總。
注意事項
- 關閉防火墻
- 所有的客戶端都在同一個子網內,server也必須在同一子網內如果使用192.x.x.x或者10.x.x.x這樣的IP地址
- 確保Jmeter可以訪問到server
- 確保各系統的Jmeter版本保持一致,不同版本的Jmeter將不能很好的工作
第一種加密方式
導入包
- 將下面的包,放入安裝目錄下,lib/ext文件夾下
D:\apache-jmeter-2.13\lib\ext
xxxproxy-jmeter-1.0.0-SNAPSHOT.jar
包略
主要實現的功能是所有字段按照網關的規則進行排序(過濾掉值未為0的字段),并添加上signMsg。
導入xxxProxy Test Plan.jmx
xxxProxy_Test_Plan.jmx
包略
在BeanShell Samppler中添加以下代碼
import com.xxxx.xxx.test.xxxxproxy.xxxProxyUtils;
第二種加密方式
BeanShell Sampler中自定義
案例見
dianxinwangguan.jar
對數據庫進行壓力測試
包括mycat分片壓力測試
JDBC_Connection_Configuration.jmx
包略
對JAVA方法進行性能測試
Java請求.jmx
包略
noon
安裝
使用
例如:
./nmon -ft -s 10 -c 180
-s 10是每10s監控一次
-c 180 是一共監控180次
10*180=1800秒=30分鐘
分析
壓測完成后,生成.nmon文件,導入 analyser 工具中(令人折服的excel),生成數據報表