国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

為JMeter用戶和測試者準備的六種Docker鏡像

譯文
開發 前端
眾所周知,一套好的容器會像一把瑞士軍刀那樣,有著一整套非常實用的工具集可供使用。如果您是一名Apache JMeter™和Docker的用戶,那么擁有一套可用于性能測試的Docker鏡像和容器是非常必要的。本文將向您推薦6種可用于性能測試的Docker鏡像。

【51CTO.com快譯】眾所周知,一套好的容器會像一把瑞士軍刀那樣,有著一整套非常實用的工具集可供使用。如果您是一名Apache JMeter™和Docker的用戶,那么擁有一套可用于性能測試的Docker鏡像和容器是非常必要的。本文將向您推薦6種可用于性能測試的Docker鏡像。

在開始之前,為了簡化維護、隔離系統、并提高安全性,請您直接通過Docker來安裝這些工具,而不要將它們安裝到您的計算機環境中。你可以通過鏈接:https://www.blazemeter.com/blog/make-use-of-docker-with-jmeter-learn-how?utm_source=blog&utm_medium=BM_blog&utm_campaign=top-6-docker-images-for-jmeter-users-and-performance-testers,來了解更多如何在本地安裝Docker。

[[249568]]

1. 無GUI的JMeter(https://hub.docker.com/r/vmarrazzo/jmeter/)

JMeter鏡像能夠創建一個無GUI的JMeter執行容器。通過JMeter鏡像,用戶沒必要再去設置諸如Java虛擬機和屬性文件的環境,而只需要專注于創建測試腳本和測試資源(如數據文件)便可。

由于去除了各種GUI、文檔和插件(當然您可以自行添加),JMeter鏡像顯得十分輕巧,您可以在需要運行JMeter時快速、便捷地使用到它。

我自行開發了一個JMeter鏡像,它不但功能豐富,而且靈活地適用于各種JMeter的測試項目:

  • 輕量級 - 基于Alpine Linux(譯者注:是由社區開發的、面向安全應用的輕量級Linux發行版)和OpenJDK,只有94Mb
  • 支持Apache JMeter 4.0 – 這是JMeter的最新版本
  • 插件可擴展性 - 您可以動態地通過Docker的卷(volume),向容器的執行添加各種插件
  • JMeter命令行 – 由于鏡像并不過濾任何JMeter的命令參數,因此它能夠允許多種運行模式
  • 分布式模式 –在分布式模式下,該鏡像可以被用來建立容器集群

下面讓我們來看幾個例子:

下面示例的命令是操縱一個容器來執行某個jmx腳本。注意該jmx腳本必須在與容器相同的機器上被執行。在測試完畢后,容器會停止下來,并在執行機上留下報告和各種日志文件。 

  1. export timestamp=$(date +%Y%m%d_%H%M%S) && \ 
  2. export volume_path=<where files are on host> && \ 
  3. export jmeter_path=/mnt/jmeter && \ 
  4. docker run \ 
  5.   --volume "${volume_path}":${jmeter_path} \ 
  6.   jmeter \ 
  7.   -n <any sequence of jmeter args> \ 
  8.   -t ${jmeter_path}/<jmx_script> \ 
  9.   -l ${jmeter_path}/tmp/result_${timestamp}.jtl \ 
  10.   -j ${jmeter_path}/tmp/jmeter_${timestamp}.log 

第二命令是執行一個作為客戶端的JMeter容器,以傳遞要執行的腳本。其中參數“-R”傳遞的是JMeter服務器實例的IP地址。 

  1. docker run \ 
  2.   --net $TEST_NET --ip $CLIENT_IP \ 
  3.   -v "${volume_path}":${jmeter_path} \ 
  4.   --rm \ 
  5.   jmeter \ 
  6.   -n -X \ 
  7.   -Jclient.rmi.localport=7000 \ 
  8.   -R $(echo $(printf ",%s" "${SERVER_IPS[@]}") | cut -c 2-) \ 
  9.   -t ${jmeter_path}/<jmx_script> \ 
  10.   -l ${jmeter_path}/client/result_${timestamp}.jtl \ 
  11.   -j ${jmeter_path}/client/jmeter_${timestamp}.log 

2. InfluxDB(https://hub.docker.com/_/influxdb/)和Grafana(https://hub.docker.com/r/grafana/grafana/)

InfluxDB和Grafana鏡像都提供了一種開源的、時序的數據庫功能。這兩種功能強大的Web工具能夠收集結構化的數據,并進行分析。它們既可以被放在一起使用,又可以被單獨使用。

每個InfluxDB數據集都會包含幾個由字段集和時間戳組成的“鍵-值”對。InfluxDB沒有外部依賴性,卻能提供一個類似于SQL語言的、內置的、以時間為中心(time-centric)的功能。該組件可以被用于收集JMeter的統計數據。

以下命令是在一個定制的Docker網絡中執行InfluxDB容器。 

  1. docker run --rm \ 
  2.       --name influxdb \ 
  3.       -dit \ 
  4.       --net $TIME_SERIES_NET \ 
  5.       -e INFLUXDB_DB=db0 \ 
  6.       -e INFLUXDB_ADMIN_ENABLED=true \ 
  7.       -e INFLUXDB_ADMIN_USER=admin \ 
  8.       -e INFLUXDB_ADMIN_PASSWORD=passw0rd \ 
  9.       -e INFLUXDB_USER=grafana \ 
  10.       -e INFLUXDB_USER_PASSWORD=dbpassw0rd \ 
  11.       -v $INFLUXDB_VOLUME:/var/lib/influxdb \ 
  12.       influxdb 
  • --rm 是在完成后自動刪除容器,因此在重新啟動期間并不會保留必要的容器信息
  • --name 是正運行中的容器名稱,可以在Docker網絡中被用作域名
  • --dit 使用本地shell在后臺運行容器,也能被諸如遠程ssh命令行所使用
  • --net 分配一個由Docker處理的虛擬網絡
  • -e 向最近創建的容器傳遞環境變量。我們在此做了如下配置:
  1. INFLUXDB_DB - 本地數據庫名稱
  2. INFLUXDB_ADMIN_ENABLED、INFLUXDB_ADMIN_USER和INFLUXDB_ADMIN_PASSWORD – 為admin配置文件配置可用性
  3. INFLUXDB_USER和INFLUXDB_USER_PASSWORD - 配置供Grafana使用的、標準的用戶配置文件
  • -v 在主機上分配一個就算容器重啟,也仍然存在的邏輯卷。使用該卷,我們可以為必要的數據限制磁盤空間

Grafana則是用于數據分析和導出的強大工具。Grafana并不直接連到JMeter,但它可以通過Docker被加到我們的進程中。

如下命令可以執行Grafana容器: 

  1. docker run --rm \ 
  2.       --name=grafana \ 
  3.       -dit \ 
  4.       --net $TIME_SERIES_NET \ 
  5.       -p 3000:3000 \ 
  6.       -e GF_SECURITY_ADMIN_PASSWORD =adminpassw0rd \ 
  7.       -v $GRAFANA_VOLUME:/var/lib/grafana \ 
  8.       grafana/grafana 
  • --rm 是在完成后自動刪除容器,因此在重新啟動期間并不會保留必要的容器信息
  • --name 是正運行中的容器名稱,可以在Docker網絡中被用作域名
  • --dit 使用本地shell在后臺運行容器,也能被諸如遠程ssh命令行所使用
  • --net 分配一個由Docker處理的虛擬網絡
  • -e 傳遞GF_SECURITY_ADMIN_PASSWORD,即Grafana UI的密碼
  • -v 在主機上分配一個就算容器重啟,也仍然存在的邏輯卷。使用該卷,我們可以為必要的數據限制磁盤空間

當該容器運行時,我們可以將Grafana的配置作為數據源,來分配給InfluxDB執行。

后臺監聽器(Backend Listener,請參見:https://jmeter.apache.org/usermanual/component_reference.html#Backend_Listener)負責InfluxDB的具體實施,它可以執行與JMeter的集成。所以在測試執行JMeter,上傳其統計信息到InfluxDB時,以及用Grafana完成測試之后,我們可以按需導出各種報告。

3.Selenium(https://hub.docker.com/u/selenium/)

Selenium鏡像提供了一個現成的解決方案,以提高自動化的Web瀏覽器測試。Selenium雖然沒有獨立的鏡像,但是它提供了適用于不同運行模式的多種鏡像(如:Selenium Hub和Selenium Node)。

這些鏡像可以輕松地與容器化的JMeter相集成,不過需要具備如下兩個前提條件:

  • 為運行中的JMeter安裝 JMeter的WebDriver插件,請參見:https://www.blazemeter.com/blog/mixing-selenium-into-your-load-scenario?utm_source=blog&utm_medium=BM_blog&utm_campaign=top-6-docker-images-for-jmeter-users-and-performance-testers
  • 將JMeter的腳本配置為RemoteWebDriver

如下命令可以快速地創建一個容器,以供Selenium測試終端(瀏覽器+驅動)。在該測試中,由于選擇了Selenium的調試鏡像,我們可以通過VNC協議來觀察測試的執行。 

  1. docker run \ 
  2.     -d -p ${port4Driver}:4444 -p ${port4VNC}:5900 \ 
  3.     --shm-size=2g \ 
  4.     selenium/standalone-chrome-debug:3.14.0-beryllium 
  5. #### OR  
  6. docker run \ 
  7.     -d -p ${port4Driver}:4444 -p ${port4VNC}:5900 \ 
  8.     --shm-size=2g \ 
  9.     selenium/standalone-firefox-debug:3.14.0-beryllium 

4.Jenkins-CI(https://hub.docker.com/r/jenkins/jenkins/)

Jenkins鏡像通過與現有的、基于Docker的架構相集成,以實現構建上的自動化。Jenkins鏡像能夠廣泛地被社區所支持,并定期被更新。Jenkins-CI常被作為服務器端應用運行起來,以管理許多不同的任務。Jenkins-CI可以管理JMeter測試腳本的調度、執行和結果的歷史信息。

如下命令可運行一個Jenkins-CI容器: 

  1. docker run \ 
  2.   -d \ 
  3.   -v ${jenkins_home}:/var/jenkins_home \ 
  4.   -p 8080:8080 \ 
  5.   jenkins/jenkins:lts 
  • -d 分離模式
  • -v 安裝從主機處掛接的一個卷,并在容器重啟時保留任務的配置
  • -p 導出Jenkins-CI UI用于監聽主機的端口信息

由于沒有Docker的卷,其配置文件夾在容器停止后將不復存在。因此為了保存Jenkins-CI的配置數據(或是在版本控制工具中進行跟蹤),我們需要在容器和主機之間對卷進行配置。

Jenkins-CI可以通過如下兩種方式來管理JMeter的執行:

  • 通過jmeter-performance-plugin,在Jenkins-CI所運行的相同容器中執行JMeter,具體請參見:https://www.blazemeter.com/blog/how-to-use-the-jenkins-performance-plugin?utm_source=blog&utm_medium=BM_blog&utm_campaign=top-6-docker-images-for-jmeter-users-and-performance-testers
  • 調用遠程命令執行,以便另一個容器可以處理JMeter的執行

在通過其他工具從同一容器中執行JMeter時,您會碰到的唯一限制便是自己的資源。不過如果您能夠使用一個額外的容器,則會簡化資源處理的相對成本。

5.Taurus(https://hub.docker.com/r/blazemeter/taurus/)

Taurus鏡像運行的是開源的Taurus。它自動、且恰當地包裝了JMeter、Gatling(https://gatling.io/)、Locust.io(https://locust.io/)、Grinder(http://grinder.sourceforge.net/)和Selenium等工具。因此該鏡像包括了所有必要的依賴項,同時能夠定期提供更新與支持,讓用戶能夠專注于自身的測試。

如下命令可以用來運行Taurus。 

  1. docker run \ 
  2.   --rm \ 
  3.   -v ${scripts_directory}:/bzt-configs \ 
  4.   -v ${artifacts_directory}:/tmp/artifacts \ 
  5.   blazemeter/taurus 
  • --rm 在執行結束后刪除容器的數據
  • -v(第一個) 將Taurus腳本卷掛載到主機上,并共享輸入腳本
  • -v(第二個) 將Taurus的各個工件掛載到主機上,并共享工件的輸出

6.注冊服務器(https://docs.docker.com/registry/deploying/)

Docker注冊服務器是一個用于存儲各種鏡像的本地鏡像庫。我們可以用它來集中那些被頻繁使用的Docker鏡像。籍此,您可以快速地搭建自己的工作網絡,并大幅減少在獲取鏡像上所花費的時間。這是一款官方的Docker鏡像,因此它作為標準化的Docker組件被官方支持和文檔化。另外,它的定期更新不會給項目帶來任何風險。

如下命令可以創建一個運行的容器,以便成為我們工作網絡中的一個存儲庫。 

  1. docker run -d --rm \  
  2. -p 5000:5000 \  
  3. -v $REGISTRY_VOLUME:/var/lib/registry \  
  4. --restart=always \  
  5. --name registry \  
  6. registry:2 
  • -p 發布主機上的工作端口
  • --rm 在終止時移除容器的信息
  • -v 將卷與本地機器相連接,為存儲在Docker鏡像里的數據添加一個配置文件
  • --restart 用于在終止的情況下,更改容器的行為。在我的例子中,我將restart設為常規政策
  • --name 容器名

一個配置好的容器服務能夠在較短的時間內,以推或拉的方式按需提供一臺存儲服務器。

如上所述,本文討論了可供JMeter性能測試的一些重要的Docker鏡像。如果您愿意,可以在創建好了自己的JMX文件之后,將其上傳到BlazeMeter(譯者注:是一個連續性測試平臺,請參見http://info.blazemeter.com/testing-landing-page2?utm_source=blog&utm_medium=BM_blog&utm_campaign=top-6-docker-images-for-jmeter-users-and-performance-testers),以獲取可擴展性、高級的分析和各種協作能力。

原文標題:Top 6 Docker Images for JMeter Users and Performance Testers,作者:Vincenzo Marrazzo

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2009-12-30 09:31:03

2015-10-12 17:17:50

用戶體驗設計錯誤

2017-06-26 10:35:58

前端JavaScript繼承方式

2022-07-13 14:50:38

聊天機器人人工智能加密貨幣

2017-04-07 09:00:24

技術管理物聯網開發

2022-11-18 10:34:35

IT領導者軟技能

2019-05-16 13:00:18

異步編程JavaScript回調函數

2023-09-06 11:35:11

2018-04-27 15:02:10

2022-12-06 10:39:43

Spring事務失效

2025-05-06 00:00:05

MySQLES協同

2011-02-24 10:56:34

人才

2022-05-12 09:02:50

編程語言PythonJava

2025-05-19 00:02:00

數據脫敏加密算法數據庫

2022-05-08 22:09:28

網絡拓撲網絡技術網絡

2012-10-15 13:26:31

云計算架構

2025-02-27 00:00:30

SpringJava方式

2016-01-15 17:36:29

云計算云應用

2011-06-07 09:36:18

2019-01-17 10:58:52

JS異步編程前端
點贊
收藏

51CTO技術棧公眾號

日本一区二区免费在线| 欧美日韩在线电影| 久久久久久国产精品免费免费| 亚洲欧美在线人成swag| 色老汉av一区二区三区| 国产a国产a国产a| 国产欧美一区二区精品婷婷| 日本老太婆做爰视频| 国产日韩一区| 91pron在线| 国产在视频线精品视频www666| 欧美激情手机在线视频| 久久丁香四色| 欧美精品video| 盗摄牛牛av影视一区二区| 九九视频这里只有精品| 日韩高清二区| 欧美俄罗斯性视频| jazzjazz国产精品麻豆| 91sa在线看| 国产一区二区三区探花| 国产福利视频一区| 成人精品中文字幕| 91久久精品国产91性色| 国产一区日韩欧美| 欧美精品在线一区| 久久99精品视频| 男女h黄动漫啪啪无遮挡软件| 极品少妇一区二区三区精品视频 | 丁香天五香天堂综合| 热久久最新地址| av午夜精品一区二区三区| 久久国产精品视频在线观看| 97久久超碰国产精品| 日本三级免费观看| 一区二区三区波多野结衣在线观看| 国外男同性恋在线看| 欧美日韩精品电影| av毛片午夜不卡高**水| 亚洲欧美日韩精品久久亚洲区 | 综合久久国产| 波多野结衣中文字幕一区| 黄色av免费在线播放| 亚洲视频一二三区| 韩日视频在线| 日韩成人xxxx| 视频在线亚洲| 91九色国产社区在线观看| 久久久噜噜噜久久狠狠50岁| 成人小视频在线观看免费| 国产精品国产三级国产aⅴ入口 | 国产成人免费视| 国产高潮免费视频| 午夜日韩在线观看| 久久香蕉一区| 欧美日本亚洲视频| 一区二区三区四区在线观看国产日韩 | 亚洲视频999| 久久97精品| 波多野结衣成人在线| 国产精品99久久久久久久vr| 污网站免费看| 日韩免费高清av| 视频精品国内| 九九九九九九精品| 久久精品亚洲精品国产欧美| 久久米奇亚洲| 一区二区三区亚洲| 日韩一区自拍| 日韩一级片一区二区| 一区二区三区在线观看视频| 激情av在线播放| 日本最新高清不卡中文字幕| 日本va欧美va瓶| av免费看大片| 日韩精品极品在线观看播放免费视频| 国产图片一区| 视频一区视频二区视频三区高| 国产精品国产a| 国产美女高潮在线| 91久久久久久久一区二区| 99免费精品在线观看| 国产一级在线观看| 欧美黑人极品猛少妇色xxxxx| 99国内精品| 男人天堂av网站| 最新国产精品拍自在线播放| 午夜国产欧美理论在线播放 | 成人禁在线观看网站| 亚洲国产精品久久精品怡红院| 你懂的一区二区三区| 亚洲欧美国产精品桃花| 亚洲不卡在线观看| 亚洲欧美久久精品| 久久久一本精品99久久精品| 中文字幕一区av| 人狥杂交一区欧美二区| 不卡视频一区| 日韩美女久久久| 搜成人激情视频| 欧美日韩精品一区| 午夜久久久久久电影| xxxx日韩| www日韩视频| 亚洲免费视频观看| 天堂影院一区二区| www 日韩| 91久久国产婷婷一区二区| 亚洲丝袜精品丝袜在线| 在线观看亚洲精品福利片| 日产中文字幕在线精品一区| 色偷偷久久一区二区三区| 婷婷成人在线| 亚洲精品视频导航| 久久精品久久久久| 成人福利视频在线看| 国产99在线| 亚洲va韩国va欧美va精四季| 欧美最猛性xxxxx直播| 成人影院天天5g天天爽无毒影院 | 国产sm精品调教视频网站| av片在线观看| 久久精品99久久| 色综合中文综合网| 999久久久国产精品| 污污免费网站| 国产精品免费电影| 一区二区三区四区不卡视频| 美女主播精品视频一二三四| 国产又粗又长又大的视频| 欧美成人精品在线视频| 91亚洲男人天堂| 国产午夜亚洲精品一级在线| 免费在线观看视频a| 亚洲人在线观看| 成人一区二区三区视频在线观看| 婷婷激情一区| 国产美女在线一区| 久久艹在线视频| 欧美极品美女视频| 亚洲午夜免费| 怡红院亚洲色图| 992tv在线成人免费观看| 中文字幕一区二区不卡| 波多野结衣在线播放一区| 天堂成人在线| 免费观看成人在线| 精品亚洲一区二区| 91在线精品一区二区| 加勒比色综合久久久久久久久| 99热热99| 亚洲精品日韩av| 91精品国产品国语在线不卡| 蜜桃av一区二区| 国产精品一区二区三区www| 99aiav| 粉嫩av一区二区三区免费观看| 欧美一区二区三区在线视频| 黑人精品欧美一区二区蜜桃| 欧美成人黄色| 99热.com| 国产视频在线观看一区| 亚洲欧美日韩精品久久奇米色影视| 久久亚洲一级片| 日韩aaaa| 日本动漫理论片在线观看网站 | 国产偷自视频区视频一区二区| 国产不卡人人| 蜜桃免费在线视频| 亚洲最大福利视频网站| 亚洲国产另类久久精品| 国产精品色婷婷| 欧美久久综合| 伊人久久在线| 理论片播放午夜国外| 欧美日韩亚洲免费| 欧美激情精品久久久久久黑人| 欧美日韩免费一区| 国产麻豆精品在线| 免费欧美激情| 美女网站视频在线| 99热热99| 五月天亚洲综合小说网| 久久久女人电视剧免费播放下载| 日韩欧美亚洲国产一区| 国产美女精品一区二区三区| 欧美人与动xxxxz0oz| 午夜小视频在线观看| 自拍偷拍 国产| 蜜桃传媒视频第一区入口在线看| 插插插亚洲综合网| 欧美日韩精品二区第二页| 国产亚洲短视频| 久久久久久网| 国产一区二区三区四区大秀| 久草在线资源站资源站| 欧美成人影院在线播放| 日本成人在线不卡| 国产啪精品视频网站| 久久久精品在线观看|