xx網(wǎng)關(guān)接口測(cè)試
測(cè)試前必使用Server+Agent,分布式壓力方式進(jìn)行壓力測(cè)試睬魂,并啟動(dòng)相應(yīng)的端口记某。
接口測(cè)試方法
執(zhí)行機(jī)(slave)配置:
- 啟動(dòng)bin目錄下的:meter-server.bat
- 可以自定義端口號(hào):jmeter.properties文件竿报,修改如下兩個(gè)配置項(xiàng)航背,比如我這里修改為1888:server_port=1888,server.rmi.localport=1888
調(diào)度機(jī)配置
修改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,多臺(tái)slave之前使用 ‘, ‘ 隔開
-
第一種:非GUI運(yùn)行
運(yùn)行方法:cmd->cd <jmeter/bin路徑>->jmeter -t "JMS Point-to-Point.jmx" -n -l testresult.csv -r
參數(shù)詳解:
20180730213149.png第二種:GUI運(yùn)行
直接運(yùn)行jmeter.bat
ps
:建議第一種方法運(yùn)行,由于Jmeter是一個(gè)純JAVA的應(yīng)用爬橡,用GUI模式運(yùn)行壓力測(cè)試時(shí),對(duì)客戶端的資源消耗是相當(dāng)驚人的棒动,所以在進(jìn)行正式的壓測(cè)時(shí)一定要使用non-gui模式運(yùn)行
分布式執(zhí)行原理
- Jmeter分布式測(cè)試時(shí)糙申,選擇其中一臺(tái)作為調(diào)度機(jī)(master),其它機(jī)器做為執(zhí)行機(jī)(slave)迁客。
- 執(zhí)行時(shí)郭宝,master會(huì)把腳本發(fā)送到每臺(tái)slave上,slave 拿到腳本后就開始執(zhí)行掷漱,slave執(zhí)行時(shí)不需要啟動(dòng)GUI粘室,我理解它應(yīng)該是通過(guò)命令行模式執(zhí)行的。
- 執(zhí)行完成后卜范,slave會(huì)把結(jié)果回傳給master衔统,master會(huì)收集所有slave的信息并匯總。
注意事項(xiàng)
- 關(guān)閉防火墻
- 所有的客戶端都在同一個(gè)子網(wǎng)內(nèi)海雪,server也必須在同一子網(wǎng)內(nèi)如果使用192.x.x.x或者10.x.x.x這樣的IP地址
- 確保Jmeter可以訪問(wèn)到server
- 確保各系統(tǒng)的Jmeter版本保持一致锦爵,不同版本的Jmeter將不能很好的工作
第一種加密方式
導(dǎo)入包
- 將下面的包,放入安裝目錄下奥裸,lib/ext文件夾下
D:\apache-jmeter-2.13\lib\ext
xxxproxy-jmeter-1.0.0-SNAPSHOT.jar
包略
主要實(shí)現(xiàn)的功能是所有字段按照網(wǎng)關(guān)的規(guī)則進(jìn)行排序(過(guò)濾掉值未為0的字段)险掀,并添加上signMsg。
導(dǎo)入xxxProxy Test Plan.jmx
xxxProxy_Test_Plan.jmx
包略
在BeanShell Samppler中添加以下代碼
import com.xxxx.xxx.test.xxxxproxy.xxxProxyUtils;
第二種加密方式
BeanShell Sampler中自定義
案例見
dianxinwangguan.jar
對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓力測(cè)試
包括mycat分片壓力測(cè)試
JDBC_Connection_Configuration.jmx
包略
對(duì)JAVA方法進(jìn)行性能測(cè)試
Java請(qǐng)求.jmx
包略
noon
安裝
使用
例如:
./nmon -ft -s 10 -c 180
-s 10是每10s監(jiān)控一次
-c 180 是一共監(jiān)控180次
10*180=1800秒=30分鐘
分析
壓測(cè)完成后湾宙,生成.nmon文件樟氢,導(dǎo)入 analyser 工具中(令人折服的excel),生成數(shù)據(jù)報(bào)表