1.環(huán)境:分布式壓力測(cè)試,用兩臺(tái)win10華碩筆記本作為slave,服務(wù)器部署在Linux上
2.配置文件:在master機(jī)器上,更改bin目錄下jmeter.properties文件,添加remote_hosts=ip+端口(slave)
3.slave機(jī)器的jmeter.properties添加
server_port=8888(自定義端口號(hào))
server.rmi.localport=8888
4.有耐性jmeter之前,slave機(jī)器需要先執(zhí)行jmeter-server.bat,保持運(yùn)行狀態(tài)
5.進(jìn)入jmeter后,添加請(qǐng)求,然后點(diǎn)擊運(yùn)行->遠(yuǎn)程全部啟動(dòng),開始進(jìn)行壓測(cè)
6.可以在jmeter-server.bat開啟的命令行中能夠查看任務(wù)運(yùn)行情況
7.JDBC參數(shù)化

ps:
聚合報(bào)告
Samples:樣本數(shù)
Average:平均響應(yīng)時(shí)間
Median:中位數(shù),50%響應(yīng)時(shí)間小于此值
90%line:90%響應(yīng)時(shí)間小于此值
Min:最短響應(yīng)時(shí)間
Max:最大響應(yīng)時(shí)間
Error:未命中數(shù)/比率
Throughput:吞吐量——每秒完成請(qǐng)求事務(wù)數(shù)
Kb/sec:每秒接收數(shù)據(jù)量
踩過的坑:
1.master,slave需要關(guān)閉防火墻,要不然你真的不知道為什么下發(fā)總是失敗,ping不通,但是本機(jī)卻可以正常跑腳本
2.如果線程開啟過多,可能會(huì)使網(wǎng)絡(luò)阻塞,master無法控制slave,jmeter數(shù)據(jù)統(tǒng)計(jì)會(huì)出現(xiàn)異常,因此需要根據(jù)實(shí)際硬件配置,網(wǎng)絡(luò)帶寬進(jìn)行線程數(shù)量以及ramp-up設(shè)置
3.斷言盡量多設(shè)置幾條,很多時(shí)候網(wǎng)絡(luò)延時(shí)會(huì)是結(jié)果出現(xiàn)很大的誤差,需要根據(jù)斷言進(jìn)行判斷結(jié)果是否正確
4.由于MySQL數(shù)據(jù)類型為timestamp,默認(rèn)值為0000-00-00,所以查詢時(shí)需要帶時(shí)間戳,否則會(huì)提示Response message: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
例如:jdbc:mysql://${ip}:${port}/${dbname}?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true