Jmeter分布式搭建測試

原理

1、Jmeter分布式測試時,選擇其中一臺作為控制機(Controller),其它機器做為代理機(Agent)。
2、執(zhí)行時,Controller會把腳本發(fā)送到每臺Agent上,Agent 拿到腳本后開始執(zhí)行,Agent執(zhí)行時不需要啟動Jmeter,只需要把jmeter-server.bat文件打開,它應該是通過命令行模式來執(zhí)行的。
3、執(zhí)行后,Agent會把結果回傳給Controller,Controller會收集所有Agent的信息并匯總

圖形解釋

image.png

環(huán)境

兩臺機器配置jmeter變量 有多少臺配置多少臺

  • JMETER_HOME D:\software\JMETER4.0\apache-jmeter-4.0

  • CLASSPATH %JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar;

  • path %JMETER_HOME%\bin;

要做分布式的前提:

  • 保持一致:jdk一致、
  • jmeter版本一致(本機zip) 腳本最好是放到jmeter的zip
  • 插件的一致性
  • 網(wǎng)絡 同一個局域網(wǎng)

如何保存2臺機器是在同一個網(wǎng)絡呢?

1. 可以連接同一個wife

2. 出在同一個局域網(wǎng)下面,并且固定好他的IP?如何設置呢?如下操作

步驟

step-1. 修改jmeter為中文,并且解決出現(xiàn)亂碼的問題

1).搜索ctrl+f language=en 在下面添加 language=zh_CN

image.png

2). 搜索 sampleresult.default.encoding=ISO-8859-1,下面添加sampleresult.default.encoding=UTF-8

image.png

包jmetrer打包成zip 傳到執(zhí)行機里面

step2. **執(zhí)行機**修改jmeter.properties

執(zhí)行機修改jmeter.properties文件的相關內(nèi)容 在bin目錄下可以找到這個文件,notepad++打開這個文件

1. 搜索server-port 改成 server_port = 1234 這個端口可以自定義

image.png

2.搜索 rmi.port 改成 server.rmi.port = 1234

image.png

3.搜索 ssl.disable 改成 server.rmi.ssl.disable=True(去掉認證)

image.png

不使用認證證書 因為是在同一個局域網(wǎng)上,不存在安全問題。

4. jmeter bin 目錄啟動服務jmeter-server.bat:

linux bin目錄賦予 執(zhí)行 chmod +x -R bin/ (linux jmeter-server.sh 需要有執(zhí)行權限 chmod 777 jmeter-server.sh )

jmeter bin啟動:sh jmeter-server.sh -Djava.rmi.server.hostname=ip地址
               windows下執(zhí): jmeter-server.bat -Djava.rmi.server.hostname=ip地址

  • cd 到 jmeter bin目錄,執(zhí)行 jmeter-server.bat -Djava.rmi.server.hostname=ip地址
image.png

5. 關閉防火墻:控制面板---windows防火墻

image.png

6.telnet的開啟關閉操作 如果本地你已經(jīng)裝好telnet就不用這一步驟

image.png
image.png
image.png
image.png

開始--服務--按鍵盤T ---telnet 設置成手動 并且啟動起來


image.png

7. 在控制機 CDM輸入 telnet ip 端口號 嘗試連接一下 執(zhí)行機

image.png
image.png

以上執(zhí)行機操作完畢 接下是配置 控制機

step3. **控制機**修改jmeter.properties

1.打開/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,進行修改,如下圖所示,這一步的目的是把所有的執(zhí)行機的IP地址都加進來。

image.png

2.搜索 ssl.disable 改成 server.rmi.ssl.disable=True(去掉認證)

image.png

不使用認證證書 因為是在同一個局域網(wǎng)上,不存在安全問題。

3..搜索 mode=Standard 改成 去掉前面的警號 打開標準模式,能看到jmeter日志

image.png

4. 重啟jmeter

腳本開發(fā)

這里我就隨便模擬下,所以我用了假接口取樣器(jp@gc - Dummy Sampler),
監(jiān)聽器:添加了 Summary Report
聚合報告
jp@gc - Active Threads Over Time
jp@gc - Transactions per Second
jp@gc - Response Times Over Time

image.png

菜單欄點擊運行--鼠標放在遠程啟動 你配置的執(zhí)行機就會被發(fā)現(xiàn)

image.png

image.png
image.png

我們也可以將控制機也當成執(zhí)行機,講控制機的操作步驟像執(zhí)行機那樣設置一次就可以了

image.png
image.png
image.png

修改一下腳本 把請求放在循環(huán)控制器里面看看總請求是否等于 執(zhí)行機臺數(shù) X 線程數(shù) X 循環(huán)次數(shù)
操作如下圖:

image.png
image.png
image.png

總結:

=========執(zhí)行機配置============

jmeter.properties
server_port = 1234
server.rmi.port = 1234
server.rmi.ssl.disable=true(去掉認證)
linux bin目錄賦予 執(zhí)行 chmod +x -R bin/ (linux jmeter-server.sh 需要有執(zhí)行權限)
jmeter bin啟動:sh jmeter-server.sh -Djava.rmi.server.hostname=IP
                          windows jmeter-server.bat -Djava.rmi.server.hostname=ip
配置防火墻:systemctl stop firewalld.service

================控制機配置===============

主控機器:jmeter.properties:
remote_hosts= 助攻機器ip:端口
server.rmi.ssl.disable=true
mode=Standard 可選
重啟jmeter

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容