建筑網(wǎng)站設(shè)置工資單人換了怎么換寧波正規(guī)seo推廣
我們都知道,jmeter 可以做接口測試,也可以用于性能測試,現(xiàn)在企業(yè)中性能測試也大多使用 jmeter。docker 是最近這些年流行起來的容器部署工具,可以創(chuàng)建一個容器,然后把項目放到容器中,就可以構(gòu)建出一個獨立的運行環(huán)境。
所以,有人就想,能否把他們倆弄到一塊來使用?
今天,我就來給大家講講如何結(jié)合起來使用。
首先,選擇一個linux機器,安裝docker
然后,訪問gitee開源網(wǎng)站,搜索“nmb-jmeter-docker"找到這個項目
然后,把項目的所有代碼git下來,上傳到linux系統(tǒng)的/opt路徑下
用 docker 創(chuàng)建 jmeter 容器(普通 jmeter)
進入 base-jmeter-docker 文件夾
執(zhí)行 sh build.sh , 構(gòu)建本地 jmeter 鏡像
默認(rèn)版本是 jmeter5.1.1
待構(gòu)建成功之后,把用 jmeter 創(chuàng)建的 jmx 腳本文件,上傳到 Linux 機器的 base-jmeter-docker 路徑下,執(zhí)行
sh jmeter.sh -n -t YouJMX_file \
-l JTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e?-o?Report_date?+%Y%m%d_%H%M%S
如果你想學(xué)習(xí)接口自動化測試,我這邊給你推薦一套視頻,這個視頻可以說是B站播放全網(wǎng)第一的接口自動化測試教程,同時在線人數(shù)到達(dá)1000人,并且還有筆記可以領(lǐng)取及各路大神技術(shù)交流:798478386? ???
【已更新】B站講的最詳細(xì)的Python接口自動化測試實戰(zhàn)教程全集(實戰(zhàn)最新版)_嗶哩嗶哩_bilibili【已更新】B站講的最詳細(xì)的Python接口自動化測試實戰(zhàn)教程全集(實戰(zhàn)最新版)共計200條視頻,包括:1.【接口自動化】目前軟件測試的市場行情以及測試人員能力標(biāo)準(zhǔn)。、2.【接口自動化】全面熟練Requests庫以及底層方法調(diào)用邏輯、3.【接口自動化】接口自動化實戰(zhàn)及正則和JsonPath提取器的應(yīng)用等,UP主更多精彩視頻,請關(guān)注UP賬號。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337?
也可以把你的 jmx 文件上傳到其他路徑,在運行 jmeter.sh 命令時,指定 jmx 文件路徑
這個命令和 jmeter 的 CLI 模式命令是一樣的,cli 的相關(guān)參數(shù)也是可以使用。
創(chuàng)建增強型 jmeter 容器(jmeter 帶插件)
-
下載【jpgc-jmeter-docker】文件夾中所有文件
-
構(gòu)建本地鏡像: sh build.sh
-
使用構(gòu)建的鏡像,運行 jmx 文件
sh jmeter.sh -n -t YouJMX_file \
-l YouJTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e -o report_date +%Y%m%d_%H%M%S
默認(rèn) jmeter 版本為 5.1.1
如果想要更改為其他版本,依次修改:Dockerfile、build.sh、jmeter.sh 文件中的版本號 5.1.1
注意:請不要指定為低于 5 的版本,低于 5,生產(chǎn)的 HTML 報告可能有問題
在這個版本,改造了 HTML 報告和引入了 jpgc 插件,如果你還想要引入其他插件,可以自己打包壓縮到 JmeterPlugins-jpgc.zip 文件包中。然后,執(zhí)行 sh build.sh 構(gòu)建新的鏡像,
創(chuàng)建分布式 jmeter 容器(slave)
做性能測試,一般都會遇到 jmeter 不能產(chǎn)生足夠數(shù)量的并發(fā)用戶數(shù),需要使用分布式來創(chuàng)建足夠數(shù)量的并發(fā)用戶數(shù),但是,現(xiàn)實中,我們可能又不能獲得足夠數(shù)量的電腦。
使用 docker 創(chuàng)建 jmeter 的助攻服務(wù),這樣就能實現(xiàn),理論上一臺電腦上創(chuàng)建出任意多個 jmeter 助攻服務(wù),產(chǎn)生出足夠量的并發(fā)用戶數(shù)。另外,在助攻機的維護上,也變的更加簡單,因為所有的助攻機容器都是基于相同的鏡像創(chuàng)建,理論上,所有容器都是一樣。
-
下載【slave-jmeter-docker】文件夾中所有文件
-
構(gòu)建本地 slave 鏡像:?sh build.sh
-
創(chuàng)建 slave 容器
docker run -itd --name slave1 nmb/jmeter-slave:5.1.1 server
#?重復(fù)執(zhí)行時,修改容器名稱name值,則可創(chuàng)建多個slave容器
默認(rèn) jmeter 版本為 5.1.1
如果想要更改為其他版本,依次修改:Dockerfile、build.sh 文件中的版本號 5.1.1
注意:
1、該鏡像中,加入 jpgc 插件,更改了 HTML 報告模板
2、請不要指定為低于 5 的版本,低于 5,生產(chǎn)的 HTML 報告可能有問題
3、助攻服務(wù)端口 1099, 5000, 因為后面 master 用 link 連接容器,所以,可以不用映射端口
想要創(chuàng)建多個 slave 容器,只需要修改創(chuàng)建容器命令中的指定的容器名稱。
每個助攻服務(wù)的端口都是 1099 和 5000,如果直接映射到宿主機上,肯定會出現(xiàn)端口沖突的情況,所以,我們用 master 連接 link 每個 slave 容器,就不用擔(dān)心端口沖突問題了。
創(chuàng)建分布式 jmeter 容器(master)
-
下載【master-jmeter-docker】文件夾中所有文件
-
構(gòu)建本地 master 鏡像:?sh build.sh
-
修改 run-master.sh 文件中 --link 的數(shù)量和名稱
冒號前面為 slave 容器名稱,冒號后面為自定義別名
-
使用 master 容器執(zhí)行分布式腳本
sh run-master.sh -n \
-R 助攻機別名(多個時用逗號分隔) \
-t YouJMXfile \
-l YouJTL_date +%Y%m%d_%H%M%S.jtl \
-j jmeter.log \
-e -o report_date +%Y%m%d_%H%M%S
默認(rèn) jmeter 版本為 5.1.1
如果想要更改為其他版本,依次修改:Dockerfile、build.sh 文件中的版本號 5.1.1
注意:請不要指定為低于 5 的版本,低于 5,生產(chǎn)的 HTML 報告可能有問題
注意:
-
該鏡像構(gòu)建成功后,會帶有 jpgc 插件,可以執(zhí)行使用 jpgc 插件編寫的腳本
-
該鏡像還對 jmeter 生產(chǎn)的 HTML 報告進行了改造,生產(chǎn)的報告將轉(zhuǎn)換為中文
-
jmeter 分布式,主控和助攻機的 jmeter 必須一致,所以,master 和 slave 的 jmeter 版本務(wù)必一致
好了使用 docker 來創(chuàng)建 jmeter 進行性能測試的技術(shù),已經(jīng)講完了,代碼已經(jīng)開源到?gitee, 如果你覺得有用,請幫忙點個 ZAN 噢!