溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在Docker中部署一個nGrinder性能測試平臺

發(fā)布時間:2020-11-25 14:23:42 來源:億速云 閱讀:337 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在Docker中部署一個nGrinder性能測試平臺,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

什么是nGrinder?

nGrinder是用于壓力測試的平臺,使您可以同時執(zhí)行腳本創(chuàng)建,測試執(zhí)行,監(jiān)視和結(jié)果報告生成器。開源nGrinder通過消除不便并提供集成環(huán)境,提供了進(jìn)行壓力測試的簡便方法。它是根據(jù)Apache許可版本2.0許可的,是基于Grinder的開源的web性能測試平臺,由韓國最大互聯(lián)網(wǎng)公司NHN公司的開發(fā)團(tuán)隊(duì)進(jìn)行了重新設(shè)計和完善。

nGrinder由三個組件組成

controller:一個Web應(yīng)用程序,使性能測試人員可以創(chuàng)建測試腳本并配置測試相關(guān)參數(shù),自動分發(fā)測試腳本到agent。

agent:在代理服務(wù)器上加載運(yùn)行測試進(jìn)程和線程,建議不要部署在被測試的服務(wù)器上。

Monitor:用于監(jiān)控被測服務(wù)器的系統(tǒng)性能(例如:CPU/MEMORY),必須部署在被測試服務(wù)器上。

nGrinder架構(gòu)

如何在Docker中部署一個nGrinder性能測試平臺

工作原理

由一個控制端controller和多個代理端agent組成,通過控制端(瀏覽器訪問)建立測試場景,然后分發(fā)到代理端進(jìn)行壓力測試。
用戶按照一定規(guī)范編寫測試腳本,controller會將腳本以及需要的資源分發(fā)到agent,用jython執(zhí)行。
在腳本執(zhí)行的過程中收集運(yùn)行情況、相應(yīng)時間、測試目標(biāo)服務(wù)器的運(yùn)行情況等。并且保存這些數(shù)據(jù)生成測試報告,通過動態(tài)圖和數(shù)據(jù)表的形式展示出來。用戶可以方便的看到TPS、被測服務(wù)器的CPU和內(nèi)存等情況。
部署方式

1、單Controller多agent

2、多Controller和多agent

Docker上運(yùn)行nGrinder

運(yùn)行controller

docker pull ngrinder/controller
docker run -d -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-12009:12000-12009 ngrinder/controller

控制器在/ opt / ngrinder-controller下創(chuàng)建一個數(shù)據(jù)文件夾,以維護(hù)測試歷史記錄和配置數(shù)據(jù)。為了持久地保留數(shù)據(jù),您應(yīng)該將容器上的文件夾/ opt / ngrinder-controller映射到主機(jī)上的文件夾。

端口信息:

80:默認(rèn)控制器Web UI端口。

9010-9019:代理通過這些端口連接到控制器集群。

12000-12029:控制器通過這些端口分配壓力測試。

運(yùn)行agent

docker pull ngrinder/agent
docker run -d --name agent --link controller:controller ngrinder/agent

docker-compose快速部署

使用docker-compose服務(wù)編排裝一個Controller和兩個agent:

編寫yml

vim docker-compose.yml

ngrinder-controller-1:
 image: ngrinder/controller
 container_name: ngrinder-controller-1
 hostname: ngrinder-controller-1
 ports:
  - 8087:80
  - 16001:16001
  - 12000-12009:12000-12009
 volumes:
  - /data/ngrinder/controller-1:/opt/ngrinder-controller
ngrinder-agent-1:
 image: ngrinder/agent
 container_name: ngrinder-agent-1
 hostname: ngrinder-agent-1
 volumes:
  - /data/ngrinder/agent-1:/opt/ngrinder-agent
 command:
  - 10.255.254.25:8087
ngrinder-agent-2:
 image: ngrinder/agent
 container_name: ngrinder-agent-2
 hostname: ngrinder-agent-2
 volumes:
  - /data/ngrinder/agent-2:/opt/ngrinder-agent
 command:
  - 10.255.254.25:8087

啟動

docker-compose -f docker-compose.yml -d up

上述就是小編為大家分享的如何在Docker中部署一個nGrinder性能測試平臺了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI