jmeter可以適用于主流的各大平臺(tái)上,但是并不是所有系統(tǒng)都支持GUI的模式,jmeter貼心的提供了命令行的方式進(jìn)行jmeter腳本的運(yùn)行,有了命令行的執(zhí)行方式。在進(jìn)行大數(shù)據(jù)量進(jìn)行壓測(cè)時(shí)捞附,一臺(tái)執(zhí)行機(jī)會(huì)引起本身的性能瓶頸,所以需要用到分布式的執(zhí)行方式您没,所以有了分布式的方式鸟召。
一、命令行執(zhí)行jmeter腳本:
1氨鹏、jmeter 的參數(shù)
??????? -h, –help -> prints usage information and exit
???????? -n, –nongui -> run JMeter in nongui mode
???????? -t, –testfile -> 要運(yùn)行的 JMeter 測(cè)試腳本文件
??????? -l, –logfile -> 記錄結(jié)果的文件
?????? -r, –runremote -> 在Jmter.properties文件中指定的所有遠(yuǎn)程服務(wù)器 (as defined in remote_hosts)
????? -H, –proxyHost -> 設(shè)置 JMeter 使用的代理主機(jī)
?????? -P, –proxyPort -> 設(shè)置 JMeter 使用的代理主機(jī)的端口號(hào)
2欧募、常用命令語句
jmeter 【-n】 【-t】 +文件名.jmx+文件路徑? 【-l】 文件路徑+文件名.jtl
PS1:此命令需要在\apache-jmeter-2.11\bin下執(zhí)行
PS2:文件名需要加上后綴
在圖形界面創(chuàng)建好腳本后,我們可以將我們的腳本拷貝到其他設(shè)備上運(yùn)行仆抵,在bin下打開命令行執(zhí)行命令:
提前創(chuàng)建好腳本跟继,此處的腳本為:用戶登錄系統(tǒng),1個(gè)線程租镣丑、執(zhí)行1次
執(zhí)行完命令后舔糖,我們打開jmeter的GUI界面,在聚合報(bào)告中莺匠,打開結(jié)果文件金吗,查看運(yùn)行的結(jié)果:
這種方式可以方便的在Linux及其他設(shè)備上運(yùn)行,增加腳本的可移植性
二、分布式j(luò)emter執(zhí)行
1摇庙、使用Jmeter進(jìn)行分布式測(cè)試的主要步驟是如下:
2旱物、在所有的機(jī)器上安裝相同版本的Jmeter,然后在jemter\bin\下運(yùn)行jmeter-server文件
3、修改執(zhí)行機(jī)上的jmeter properties文檔中卫袒,修改端口:server_port宵呛、server.rmi.localport 兩個(gè)參數(shù)的端口(一般建議從5開頭的端口)如果是注釋的請(qǐng)去掉前面的:#
PS:為了保證端口的唯一和可執(zhí)行性,需要修改端口
可以啟在jmeter_server.bat 查看IP:
4夕凝、在Cotroller機(jī)器上%Jmeter_Home%/bin下,找到Jmeter.properties,把執(zhí)行機(jī)的ip添加到remote_hosts=10.10.17.9:5073,10.10.17.11:5088
完成后重新啟動(dòng)jmeter_server宝穗、以及jmeter
5、在Controller機(jī)器上》運(yùn)行>Remote Start/Remote Start All. 注意Controller本身也可以做為Agent(需重復(fù)步驟3和4)
PS:遠(yuǎn)程啟動(dòng)迹冤,每次只啟動(dòng)選中的IP讽营,運(yùn)程全部啟動(dòng)虎忌,則執(zhí)行所有的執(zhí)行IP
我們選擇泡徙,10.10.17.9.5073
圖中紅框表示在運(yùn)行
查看聚合報(bào)告:
查看結(jié)果樹:
以上為,圖像界面的分布式部署執(zhí)行jmeter腳本膜蠢,但是我們還可以通過命令行的界面執(zhí)行以上操作
三堪藐、非GUI下分布式執(zhí)行腳本
1、修改執(zhí)行機(jī)及控制機(jī)的參數(shù)
./jmeter -Djava.rmi.server.hostname=XX.XX.XX.XX -Dserver.rmi.localport=XXXX -Dserver_port=XXXX? -s -j jmeter-server.log "$@"
2挑围、執(zhí)行腳本輸出結(jié)果
jmeter -n -t xx.jmx -R xxx.xxx.xxx.xxx:5174,xxx.xxx.xxx.xxx:5172 -l xxx.jtl -j xxx.log
PS:-R表示選擇執(zhí)行=遠(yuǎn)程啟動(dòng)
? ? -r 表示啟動(dòng)所有執(zhí)行機(jī)=遠(yuǎn)程全部啟動(dòng)