jmeter安装包_分布式执行jmeter脚本步骤(非GUI)
備注:【Linux查看服務(wù)器是32位還是64位命令】
uname -m
getconf LONG_BIT
1.Linux環(huán)境安裝jmeter
可參考https://www.cnblogs.com/surewing/p/9271886.html
如需要用到3臺(tái)客戶(hù)機(jī),分別在三臺(tái)機(jī)器中安裝,以下安裝之前需安裝jdk環(huán)境
1)將jmeter安裝包放到服務(wù)器
如路徑:/app/jmeter
su root 命令:切換到root用戶(hù)進(jìn)行如下操作
(新建個(gè)jmeter文件夾存放:jmeter包+新建文件夾error+新建文件夾report+新建文件夾script+新建文件jmter.log+自動(dòng)生成的聚合報(bào)告report.jtl)
2)修改環(huán)境變量
編輯環(huán)境變量文件:vi /etc/profile
輸入并保存:
添加:export JMETER_HOME=/app/jmeter/apache-jmeter-3.3
export CLASSPATH中添加:
;$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH中添加:
;$JMETER_HOME/bin:$PATH:$HOME/bin
使配置文件生效,必須執(zhí)行不然修改沒(méi)生效:
source /etc/profile
(p.s.windows下的環(huán)境變量分隔符是分號(hào)、linux下的環(huán)境分隔符是冒號(hào))
3)檢驗(yàn)環(huán)境
jmeter -v
出現(xiàn)這個(gè)則環(huán)境安裝成功備注: jmeter -v命令后,如果出現(xiàn)如下權(quán)限問(wèn)題,需要給jmeter文件夾授權(quán)切換到j(luò)meter目錄下,執(zhí)行如下授權(quán)命令:
sudo chmod -R 777 jmeter
2.單臺(tái)機(jī)命令行運(yùn)行jmeter測(cè)試腳本
為什么命令行執(zhí)行:
1、圖形化界面消耗更多資源,CPU和內(nèi)存
2、圖形化界面不支持大型的負(fù)載測(cè)試和性能測(cè)試
3、命令行測(cè)試支持持續(xù)集成,例如放到Jenkins這樣的CI工具上
開(kāi)始執(zhí)行...
1、修改配置
(更改jmeter包bin下的文件jmeter.properties)
jmeter.save.saveservice.output_format=xml
注釋調(diào)該行配置,啟用非GUI模式(即該句前加#)
2、運(yùn)行
進(jìn)入路徑,/app/jmeter執(zhí)行命令,報(bào)告文件report.jtl會(huì)在當(dāng)前運(yùn)行的路徑下生成。
Window系統(tǒng)下命令行執(zhí)行:
jmeter -n -t D:performancecue入口賦能平臺(tái)性能測(cè)試.jmx -l report.jtl -e -o D:performancereport
Linux系統(tǒng)下命令行執(zhí)行:
jmeter -n -t /app/jmeter/script/入口賦能平臺(tái)性能測(cè)試腳本.jmx -l report.jtl -e -o /app/jmeter/report
參數(shù)解析:
-n:以非GUI形式運(yùn)行Jmeter
-t:要運(yùn)行的 JMeter 測(cè)試腳本文件
-l:輸出結(jié)果路徑,如果沒(méi)有該文件就自動(dòng)創(chuàng)建,可以生成csv或者jtl文件
-e:在腳本運(yùn)行結(jié)束后生成html報(bào)告
-o:保存html報(bào)告的地址,此文件必須不存在
-h:幫助,打印出有用的信息并退出
-r:遠(yuǎn)程執(zhí)行,啟動(dòng)遠(yuǎn)程服務(wù)
-H:代理主機(jī),設(shè)置Jmeter使用的代理主機(jī)
-P:代理端口,設(shè)置Jmeter使用的代理主機(jī)的端口號(hào)
-J:傳遞動(dòng)態(tài)參數(shù)搭配 duration 持續(xù)時(shí)間 threadnum 線程數(shù) loopcount 循環(huán)次數(shù) ramp 告知Jmeter要在多長(zhǎng)時(shí)間內(nèi)建立全部的線程,默認(rèn)值為0
3.分布式執(zhí)行jmeter測(cè)試腳本
三臺(tái)機(jī)器的jmeter文件夾都授權(quán),不然會(huì)遇到上傳失敗等權(quán)限問(wèn)題:
sudo chmod -R 777 jmeter
可參考:https://www.cnblogs.com/hoby2017/p/9519306.html
選擇一個(gè)調(diào)度機(jī)master:100.70.53.44,此機(jī)器只負(fù)責(zé)調(diào)度,并匯總輸錯(cuò)報(bào)告,不執(zhí)行腳本
選擇兩臺(tái)或多臺(tái)執(zhí)行機(jī)slave:100.70.53.59、100.70.53.39
注意1):這三臺(tái)機(jī)器保證互通(即調(diào)度機(jī)master和另兩臺(tái)執(zhí)行機(jī)slave互通即可,兩臺(tái)執(zhí)行機(jī)之間可以不通):
登錄master機(jī)器分別執(zhí)行命令檢測(cè)端口:telnet 100.70.53.59 8080
telnet 100.70.53.39 8080
2):所以需要配置端口并保證該端口沒(méi)有被其他應(yīng)用占用(上面幾個(gè)機(jī)器中目前只發(fā)現(xiàn)8080端口互通),如果被占用,啟動(dòng)jmeter server時(shí)會(huì)報(bào)錯(cuò)
1、slave執(zhí)行機(jī)配置端口
進(jìn)入jmeter安裝路勁/bin,修改jmeter.properties文件
第一個(gè):server_port=8080
第二個(gè):server.rmi.localport=8080
2、slave執(zhí)行機(jī)開(kāi)啟jmeter-server
進(jìn)入jmeter安裝路勁/bin,命令行執(zhí)行:sh jmeter-server
3、master調(diào)度機(jī)上指定調(diào)度IP地址和端口
進(jìn)入jmeter安裝路勁/bin,修改jmeter.properties文件
修改remote_hosts,回到master機(jī)器上,修改jmeter.properties文件中的remote_hosts,將slave機(jī)器的ip地址、端口添加上去,多個(gè)ip之間用逗號(hào)隔開(kāi)。其中127.0.0.1表示master機(jī)器本身,為了獨(dú)立開(kāi)master,可以將其去掉,這樣就不會(huì)在master上執(zhí)行測(cè)試。
如:remote_hosts=100.70.53.59:8080,100.70.53.39:8080
ps:這部好像沒(méi)配置也沒(méi)影響,因?yàn)閳?zhí)行時(shí)的命令會(huì)指定路徑
4、分布式執(zhí)行jmete測(cè)試腳本
把腳本上傳到master機(jī)器的scrip文件夾里。
同樣進(jìn)入路徑,/app/jmeter執(zhí)行命令,報(bào)告文件report.jtl會(huì)在當(dāng)前運(yùn)行的路徑下生成。
jmeter -n -t /app/jmeter/script/入口賦能平臺(tái)性能測(cè)試腳本.jmx -R
100.70.53.59:8080,100.70.53.39:8080 -l report.jtl -e -o /app/jmeter/report
單機(jī)或分布式執(zhí)行都需注意:需要重新執(zhí)行腳本時(shí),需先把已生成的報(bào)告刪除,不然會(huì)出現(xiàn)沖突無(wú)法執(zhí)行。
4.查看結(jié)果
1、查看生成的報(bào)告,report文件夾中的index.html可直接打開(kāi),即可查看執(zhí)行結(jié)果
2、Jmeter.log是日志,可查看執(zhí)行日志
3、Jmeter客戶(hù)端中的聚合報(bào)告等監(jiān)聽(tīng)器中瀏覽加載report.jtl文件,可界面中查看聚合報(bào)告等監(jiān)聽(tīng)結(jié)果
在jmeter工具中導(dǎo)入非GUI生成的report.jtl文件5.性能測(cè)試報(bào)告編寫(xiě)
參考:https://yq.aliyun.com/articles/35025
具體看自己存的文檔模板
6.出現(xiàn)問(wèn)題解決方法
1)出現(xiàn)如下遠(yuǎn)程運(yùn)行后自動(dòng)關(guān)閉,暫不確定什么原因,重啟遠(yuǎn)程服務(wù)就好了
2)非GUI模式生成報(bào)告查看結(jié)果樹(shù)中沒(méi)有返回?cái)?shù)據(jù)
linux執(zhí)行jmeter腳本解決響應(yīng)數(shù)據(jù)為空 - 瘋了的小蝸 - 博客園
3)啟動(dòng)jmeter服務(wù)報(bào)如下錯(cuò)誤,是端口被jmeter占用,之前啟動(dòng)的進(jìn)程沒(méi)全部kill
啟jmeter服務(wù)時(shí)報(bào)如上錯(cuò)誤,啟動(dòng)失敗解決方法:
查詢(xún)端口被誰(shuí)占用 :參考https://www.cnblogs.com/CEO-H/p/7794306.html
確認(rèn)是被jmeter占用后,要獲取jmeter_pid如下命令:
ps -ef | grep "jmeter" | grep -v grep | awk '{print $2}'
參考https://blog.51cto.com/357712148/2068662
root用戶(hù)kill調(diào)全部進(jìn)程
再重啟jmeter服務(wù)即可
總結(jié)
以上是生活随笔為你收集整理的jmeter安装包_分布式执行jmeter脚本步骤(非GUI)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 区块链浏览器_如何用区块链浏览器实现链上
- 下一篇: 合作MIFU米夫的隐形车衣有什么好处吗?