JMeter分布式測(cè)試環(huán)境搭建 & 詳細(xì)配置流程解析

目錄結(jié)構(gòu)

一抒钱、預(yù)先準(zhǔn)備工作

? ? 1. Linux服務(wù)器環(huán)境(LAMP)搭建

? ? 2. Linux服務(wù)器資源監(jiān)控

? ? ? ? 1)Linux服務(wù)器資源監(jiān)控

? ? ? ? 2)MySQL數(shù)據(jù)庫(kù)服務(wù)器監(jiān)控

二、 Linux服務(wù)器(Slave機(jī))配置JMeter運(yùn)行&監(jiān)聽(tīng)環(huán)境

? ? 1. 安裝JAVA環(huán)境

? ? 2. 上傳JMeter至服務(wù)器

? ? 3. 配置JMeter環(huán)境變量

? ? 4. 啟動(dòng)jmeter-server

? ? 5. 上傳ServerAgent至服務(wù)器贷屎,啟動(dòng)監(jiān)控服務(wù)器資源

三、Windows主控機(jī)(Master機(jī))配置JMeter運(yùn)行&監(jiān)聽(tīng)環(huán)境

? ? 1. 預(yù)先安裝JAVA和JMeter

? ? 2. 配置遠(yuǎn)程主機(jī)地址

? ? 3. 啟動(dòng)jmeter服務(wù)

? ? 4. 啟動(dòng)JMeter GUI工具

四艘虎、執(zhí)行JMeter分布式測(cè)試

? ? 1. 預(yù)先準(zhǔn)備:錄制測(cè)試腳本

? ? 2. 對(duì)測(cè)試腳本進(jìn)行參數(shù)配置唉侄,調(diào)試腳本

? ? 3. 執(zhí)行JMeter分布式測(cè)試

? ? ? ? 1)執(zhí)行方式選擇

? ? ? ? 2)設(shè)置:線(xiàn)程數(shù)、循環(huán)數(shù)野建、定時(shí)場(chǎng)景美旧,啟動(dòng)測(cè)試

本文在[JM_09]JMeter分布式測(cè)試-操作要點(diǎn)整理基礎(chǔ)上進(jìn)行實(shí)踐拓展,實(shí)現(xiàn)Master機(jī)上運(yùn)行JMeter對(duì)Linux服務(wù)器進(jìn)行分布式測(cè)試的效果贬墩。

JMeter分布式測(cè)試示意圖

<本次配置>

Master機(jī):Windows物理機(jī)

Slave機(jī):Linux虛擬機(jī);Windows物理機(jī)

Server:Linux虛擬機(jī)(被測(cè)服務(wù)器)

一妄呕、預(yù)先準(zhǔn)備工作

1. Linux服務(wù)器環(huán)境(LAMP)搭建

CentOS7安裝PhpStudy陶舞,搭建Linux服務(wù)器環(huán)境(LAMP+LNMP)

CentOS7安裝PhpStudy+ECShop要點(diǎn) & 異常處理

2. Linux服務(wù)器資源監(jiān)控

1)Linux服務(wù)器資源監(jiān)控

使用Nmon ==>Linux性能監(jiān)控工具Nmon的安裝使用、生成數(shù)據(jù)報(bào)告

(可聯(lián)合JMeter插件工具绪励、以及Linux自帶的top命令實(shí)時(shí)監(jiān)控)

2)MySQL數(shù)據(jù)庫(kù)服務(wù)器監(jiān)控

使用Spotlight ==>數(shù)據(jù)庫(kù)性能監(jiān)控工具Spotlight on MySQL的安裝

二肿孵、 Linux服務(wù)器(Slave機(jī))配置JMeter運(yùn)行&監(jiān)聽(tīng)環(huán)境

1. 安裝JAVA環(huán)境

Master機(jī)和Slave機(jī)都需要安裝相同版本的JAVA環(huán)境(如:JDK 8),并配置環(huán)境變量疏魏。如:Linux系統(tǒng)中安裝JDK ==>CentOS7系統(tǒng)中安裝JDK8-過(guò)程記錄

JAVA目錄位置:/usr/local/java(預(yù)先在/usr/local目錄下創(chuàng)建java目錄:mkdir java)

2. 上傳JMeter至服務(wù)器

1)預(yù)先將apache-jmeter-4.0.zip壓縮包上傳至Linux服務(wù)器停做,如/usr/local/jmeter目錄下(預(yù)先在/usr/local目錄下創(chuàng)建jmeter目錄:mkdir jmeter)

2)解壓:unzip apache-jmeter-4.0.zip

3. 配置JMeter環(huán)境變量

以命令vi /etc/profile打開(kāi)環(huán)境變量配置文件,在配置文件內(nèi)接近末尾位置添加以下內(nèi)容大莫,如下:

# ---Set JMETER Environment---JMETER_HOME=/usr/local/jmeter/apache-jmeter-4.0PATH=$PATH:$JMETER_HOME/binexportJMETER_HOME PATH# ---Set JMETER Environment---

保存以上配置內(nèi)容蛉腌,然后使環(huán)境變量生效:source /etc/profile

查看JMeter配置版本:jmeter -v

4. 啟動(dòng)jmeter-server

路徑切換:cd /usr/local/jmeter/apache-jmeter-4.0/bin

操作命令:jmeter-server或./jmeter-server

啟動(dòng)jmeter-server服務(wù),若出現(xiàn)以下異常:

解決方案 ==>[JMeter]...java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address_解決方案

具體操作:編輯jmeter-server文件,將服務(wù)器的主機(jī)IP設(shè)置為固定值(與Linux服務(wù)器ifconfig查詢(xún)出的實(shí)際IP保持一致)

# One way to fix this is to define RMI_HOST_DEF belowRMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.248.138

然后再次啟動(dòng)jmeter-server烙丛,即可正常啟動(dòng)

若出現(xiàn)以下異常:

"Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:

java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)

An error occurred: Listen failed on port: 0; nested exception is:

java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)"

則修改jmeter.properties文件為如下:

# Set this if you don't want to use SSL for RMIserver.rmi.ssl.disable=true

5. 上傳ServerAgent至服務(wù)器舅巷,啟動(dòng)監(jiān)控服務(wù)器資源

1)將ServerAgent-2.2.1.zip壓縮包上傳至Linux服務(wù)器,如/usr/local/server-agent目錄下(預(yù)先在/usr/local目錄下創(chuàng)建server-agent目錄:mkdir server-agent)

2)解壓:unzip ServerAgent-2.2.1.zip

3)查看文件權(quán)限:ls -la

確保startAgent.sh具有可執(zhí)行權(quán)限

4)啟動(dòng)ServerAgent:./startAgent.sh

ServerAgent默認(rèn)監(jiān)聽(tīng)4444端口河咽,如下:

三钠右、Windows主控機(jī)(Master機(jī))配置JMeter運(yùn)行&監(jiān)聽(tīng)環(huán)境

1. 預(yù)先安裝JAVA和JMeter

在Windows主控機(jī)中,提前安裝好與Linux服務(wù)器相同版本的JAVA忘蟹、JMeter飒房,并各自配置好系統(tǒng)環(huán)境變量

1)JAVA環(huán)境變量:

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_91(JDK安裝的目錄)

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;(最前面有一個(gè)點(diǎn).)

2)JMeter環(huán)境變量:

JMETER_HOME:E:\CI_Env\apache-jmeter-4.0

PATH:%JMETER_HOME%\bin;

2. 配置遠(yuǎn)程主機(jī)地址

配置文件:jmeter.properties

配置JMeter的bin目錄(E:\CI_Env\apache-jmeter-4.0\bin)下的jmeter.properties文件,添加remote_hosts遠(yuǎn)程地址和端口(Slave機(jī)對(duì)應(yīng)的IP媚值,默認(rèn)端口1099)狠毯,如下:

# Remote Hosts - comma delimited#remote_hosts=127.0.0.1#remote_hosts=localhost:1099,localhost:2010remote_hosts=192.168.248.138:1099,127.0.0.1:1099

3. 啟動(dòng)jmeter服務(wù)

雙擊運(yùn)行jmeter-server.bat,與Linux服務(wù)器(Slave機(jī))保持通信聯(lián)通

路徑:E:\CI_Env\apache-jmeter-4.0\bin

4. 啟動(dòng)JMeter GUI工具

啟動(dòng)程序:jmeter.bat

路徑:E:\CI_Env\apache-jmeter-4.0\bin

四杂腰、執(zhí)行JMeter分布式測(cè)試

1. 預(yù)先準(zhǔn)備:錄制測(cè)試腳本

==>[JPT_05]性能測(cè)試-腳本開(kāi)發(fā)(登錄&隨機(jī)購(gòu)買(mǎi)業(yè)務(wù))

2. 對(duì)測(cè)試腳本進(jìn)行參數(shù)配置垃你,調(diào)試腳本

利用Badboy錄制腳本,導(dǎo)入到JMeter的GUI操作界面中進(jìn)行腳本調(diào)試

變量設(shè)置:

【User Defined Variables】

設(shè)置參數(shù):host=192.168.248.138(本次Linux服務(wù)器的IP)

參數(shù)引用:

ServerName or IP:${hosts}

Host / IP:${hosts}

PS:-----【Important喂很!】-----

【1】腳本中定義變量host惜颇,目的是為了便于腳本的復(fù)用和移植。當(dāng)服務(wù)器IP變更時(shí)少辣,只需要在【User Defined Variables】配置元件中將host取值修改凌摄,其他關(guān)聯(lián)引用host的位置也會(huì)自動(dòng)獲取該值,而不需要每個(gè)位置都手動(dòng)去修改漓帅,存在耗費(fèi)時(shí)間且可能修改遺漏的風(fēng)險(xiǎn)锨亏。

【2】連接Linux服務(wù)器時(shí),為了確保正常執(zhí)行測(cè)試忙干,每個(gè)請(qǐng)求中涉及url地址的Path路徑需要大小寫(xiě)嚴(yán)格書(shū)寫(xiě)(與Linux服務(wù)器中配置的url保持一致)器予。

【3】對(duì)于JMeter4.0,若要使得其性能監(jiān)控插件可正常監(jiān)控展示出圖像曲線(xiàn)捐迫,在執(zhí)行測(cè)試之前乾翔,需要在【W(wǎng)rite results to file / Read from file】的Filename選擇框中添加某個(gè)自定義的jtl文件的絕對(duì)路徑,如:E:\CI_Env\JM_LogResult\123.jtl(存放jtl文件的目錄已提前創(chuàng)建好施戴,初始時(shí)jtl文件可不存在反浓,執(zhí)行測(cè)試完成之后即會(huì)生成與自定義相同名稱(chēng)的jtl文件)。

【4】JMeter腳本中若包含有【CSV Data Set Config 】配置元件配置了csv參數(shù)化的文件赞哗,需要將該參數(shù)化的文件分別上傳到每一臺(tái)Slave機(jī)的JMeter的bin目錄下存放(與jmeter-server服務(wù)文件在同一目錄)雷则,同時(shí)Master機(jī)也需要存放該參數(shù)化文件到JMeter的bin目錄下;然后在JMeter的GUI界面中【CSV Data Set Config 】配置Filename為相對(duì)路徑(如:username.txt)肪笋,不宜采用絕對(duì)路徑月劈,否則執(zhí)行測(cè)試可能異常(可查看Linux服務(wù)器中的jmeter-server.log日志文件)度迂,測(cè)試過(guò)程中Linux服務(wù)器中的測(cè)試數(shù)據(jù)可能不會(huì)返回到Windows主控機(jī)的JMeter界面中展示。

具體可參看 ==>JMeterThread:Test failed! java.lang.IllegalArgumentException: File...must exist and be readable_解決方案

3. 執(zhí)行JMeter分布式測(cè)試

1)執(zhí)行方式選擇

【1】Run --> Remote Start --> 192.168.248.138:1099

【2】Run --> Remote Start --> 127.0.0.1:1099

【3】Run --> Remote Start All

【4】Run --> Start

<1> 調(diào)用Slave機(jī)(遠(yuǎn)程Linux服務(wù)器)上JMeter的Non-GUI模式執(zhí)行測(cè)試

<2> 調(diào)用Slave機(jī)(此處Master機(jī)本身也作為Slave機(jī)之一)執(zhí)行測(cè)試

<3> 調(diào)用所有配置過(guò)的Slave機(jī)器執(zhí)行測(cè)試

<4> 常規(guī)的執(zhí)行測(cè)試方式艺栈,以當(dāng)前Master機(jī)對(duì)Linux服務(wù)器執(zhí)行測(cè)試

2)設(shè)置:線(xiàn)程數(shù)英岭、循環(huán)數(shù)、定時(shí)場(chǎng)景湿右,啟動(dòng)測(cè)試

本次選定執(zhí)行方式:Run --> Remote Start All

配置線(xiàn)程诅妹、循環(huán)次數(shù)(Step1配置)、定時(shí)等的設(shè)置毅人,開(kāi)啟執(zhí)行測(cè)試吭狡,效果如下:

PerfMon Metrics Collector:監(jiān)控服務(wù)器資源

Hits per Second


原文鏈接:http://www.reibang.com/p/bb752b99b95f

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市丈莺,隨后出現(xiàn)的幾起案子划煮,更是在濱河造成了極大的恐慌,老刑警劉巖缔俄,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弛秋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡俐载,警方通過(guò)查閱死者的電腦和手機(jī)蟹略,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遏佣,“玉大人挖炬,你說(shuō)我怎么就攤上這事∽瓷簦” “怎么了意敛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)膛虫。 經(jīng)常有香客問(wèn)我草姻,道長(zhǎng),這世上最難降的妖魔是什么稍刀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任碴倾,我火速辦了婚禮,結(jié)果婚禮上掉丽,老公的妹妹穿的比我還像新娘。我一直安慰自己异雁,他們只是感情好捶障,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著纲刀,像睡著了一般项炼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天锭部,我揣著相機(jī)與錄音暂论,去河邊找鬼。 笑死拌禾,一個(gè)胖子當(dāng)著我的面吹牛取胎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播湃窍,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼闻蛀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了您市?” 一聲冷哼從身側(cè)響起觉痛,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茵休,沒(méi)想到半個(gè)月后薪棒,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榕莺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年俐芯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帽撑。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泼各,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亏拉,到底是詐尸還是另有隱情扣蜻,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布及塘,位于F島的核電站莽使,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏笙僚。R本人自食惡果不足惜芳肌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肋层。 院中可真熱鬧亿笤,春花似錦、人聲如沸栋猖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒲拉。三九已至肃拜,卻和暖如春痴腌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背燃领。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工士聪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人猛蔽。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓剥悟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親枢舶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子懦胞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容