性能測試過程中,常常要求并發(fā)數(shù)達(dá)到一個比較大的值(例如1000+)榴捡。當(dāng)單機配置的CPU與內(nèi)存等資源無法支撐杈女,就需要部署Jmeter的分布式測試環(huán)境。
一般什么情況下需要分布式(原文鏈接:https://www.cnblogs.com/ranxf/p/6656457.html)
? ?1.比如機器i5雙核的cpu达椰,8g的內(nèi)存。壓測一個簡單的接口街夭,可以支持500+的并發(fā)砰碴。(但是如果壓測方案邏輯復(fù)雜,比如在jmeter里面加了很多控制器板丽,監(jiān)聽器呈枉,這些都是很耗機器性能,這時候可能連100并發(fā)都壓不上去)
? ?2. 壓測過程中如果Jmeter未響應(yīng)埃碱,卡住猖辫,反應(yīng)慢,隨即啟動任務(wù)管理器砚殿,如果cup和內(nèi)存特別大時狈邑,則說明單機扛不住了圣絮,則要使用分布式了
? ?3. 隨著并發(fā)的增大敢伸,TPS不會增長,即出現(xiàn)瓶頸(排除服務(wù)器瓶頸及其他)悯姊,可能是本測試機扛不住了,則要分布式
Jmeter分布式操作步驟:
? ?1.Jmeter分布式測試時贩毕,選擇其中一臺作為Master悯许,其它機器做為Slave(例如本文中有一臺Master:10.92.0.4;有兩臺slave辉阶,分別為10.92.0.75和10.92.0.74? ?注意Master和所有Slave必須同一個網(wǎng)段內(nèi)O群尽!谆甜!否則無法成運行垃僚,具體表現(xiàn)為會報slave拒絕連接的錯誤)。
? ?2.執(zhí)行時规辱,通過Master谆棺,運行所有Slave上的jmeter-server文件。
? ?3.在Master的Jmeter文件的bin目錄下找到Jmeter.properties按摘,并且修改文件中的“remote_hosts”包券。
將“remote_hosts=127.0.0.1”改為““remote_hosts=10.92.0.75:1099纫谅,10.92.0.74:1099”
3.啟動Controller上的jmeter,選擇運行>遠(yuǎn)程啟動下的10.92.0.75:1099和10.92.0.74:1099
下面付秕,我們開始進行實例的講解:(windows上的master控制2臺Linux環(huán)境的slave)
首先兰珍,我們在Master和slave上安裝java環(huán)境和jmeter。
注意:master和slave機中的jmeter版本必須一致(小版本也得一致)
JRE的版本也需要一致询吴,不能一個java7一個java8(只要大版本一致即可)
Jmeter的安裝
去Jmeter官網(wǎng)(http://jmeter.apache.org/download_jmeter.cgi)下載安裝包以及其源碼掠河,如下面為其對應(yīng)windows系統(tǒng)的包:?
apache-jmeter-3.0.tgz(Linux環(huán)境安裝包)
apache-jmeter-3.0.zip(Windows環(huán)境安裝包)
解壓即可。
Linux環(huán)境解壓命令:tar xzvf apache-jmeter-3.3.tgz
Jmeter的環(huán)境變量配置
Windows環(huán)境Jmeter的運行需要依賴JDK環(huán)境猛计,所以需要安裝jdk和配置環(huán)境變量唠摹。
去Oracle官網(wǎng)(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下載jdk;
下載后正常安裝即可奉瘤。
環(huán)境變量的配置:
我的電腦>屬性>高級系統(tǒng)設(shè)置>高級>環(huán)境變量>系統(tǒng)變量
新增變量名:JAVA_HOME勾拉;變量值:jdk的安裝目錄
編輯path,將jdk安裝目錄下的/bin文件復(fù)制過去“C:\Program Files x86)\Java\jdk1.8.0_131\bin;?”
Linux環(huán)境更簡單盗温,下載安裝和配置jdk:輸入命令yum install java-1.8.0-openjdk* -y
更改Jmeter配置
進入Jmeter目錄: cd?apache-jmeter-3.3/cd bin/
ls命令:這個命令可以使用長格式顯示文件內(nèi)容藕赞,如果需要察看更詳細(xì)的文件資料,就要用到ls -l這個指令(簡寫是ll)
編輯jmeter.properties文件:vi jmeter.properties
查找remote_host在文件中的位置:輸入命令/remote_hosts
輸入a卖局,進入編輯狀態(tài)斧蜕,修改ip為master機的ip,加端口1099
退出和保存:esc+:wq砚偶!
啟動Slave上的jmeter:輸入命令./jmeter-server