溫馨提示×

溫馨提示×

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

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

jmeter分布式測試

發(fā)布時間:2020-07-18 15:43:24 來源:網(wǎng)絡(luò) 閱讀:498 作者:32氪 欄目:建站服務(wù)器


作為一個純 JAVA GUI應(yīng)用,JMeter對于CPU和內(nèi)存的消耗還是很驚人的,所以當(dāng)需要模擬數(shù)以千計的并發(fā)用戶時,使用單臺機器模擬所有的并發(fā)用戶就有些力不從心,甚至還會引起JAVA內(nèi)存溢出的錯誤。


不過,JMeter也可以像 LoadRunner 一樣通過使用多臺機器運行所謂的代理來分擔(dān)負(fù)載產(chǎn)生器自身的壓力,并借此來獲取更大的并發(fā)用戶數(shù),我們只需手動配置一下即可。


1、在所有期望運行JMeter作為負(fù)載產(chǎn)生器的機器上安裝JMeter,并確定其中一臺機器作為控制器,其他的機器作為代理。下面示例中我們以windows服務(wù)器為控制器,另兩臺linux服務(wù)器作為代理。


然后運行所有代理機器上的JMeter-server.bat文件(linux服務(wù)器上運行Jmeter-server


假定我們使用兩臺機器172.16.129.155172.16.129.43作為代理。




2、在作為Controller控制的windows機器上的操作:


Controller控制機器的JMeter安裝目錄下找到 bin 目錄,找到 jmeter.properties 這個文件,使用記事本或者其他文字編輯工具打開它;



在打開的文件中查找remote_hosts=”這個字符串,找到這樣一行“remote_hosts=127.0.0.1”。其中的 127.0.0.1 表示運行JMeter代理的機器,把它修改為我們需要用到的slave代理機器的ip地址加默認(rèn)端口號1099:這里需要修改為

remote_hosts=172.16.129.155:1099,172.16.129.43:1099(兩臺代理服務(wù)器之間用,隔開)


再把下面幾項去掉前面的注釋(#):


server_port=1099


client.rmi.localport=0


server.rmi.port=1234


server.rmi.localport=1099


然后保存文件。



Controller控制機器的JMeter安裝目錄下找到 bin 目錄,再找到 jmeter.bat 這個文件,使用記事本等其他文字編輯工具打開它;


新增set rmi_host=-Djava.rmi.server.hostname=本機ip(控制器ip

修改

Set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%



然后保存。



3、在作為代理服務(wù)器linux服務(wù)器上的操作:


修改bin目錄下的jmeter-server文件,


去掉#

RMI_HOST_DEF=-Djava.rmi.server.hostname=172.16.129.155

(避免了虛擬機中出現(xiàn)的兩個ip的情況


PS:

代理服務(wù)器中的hostname/etc/hosts里面ip地址對應(yīng)的hostname要一致


然后保存。



對要進行分布式測試代理機器上需要添加jmeter環(huán)境變量:


命令 vim /etc/profile

insert

在文檔最后,添加:

export PATH="/jmeter/apache-jmeter-2.12/bin:$PATH"

esc : w q

保存,退出,然后運行:

#source /etc/profile

不報錯則成功。


運行env命令查看全部環(huán)境變量,看jmeter環(huán)境是否安裝成功。(或者輸入jmeter -v命令


windows上相當(dāng)于添加用戶變量JMETER_HOMEd:\jmeter,系統(tǒng)變量中的path中添加d:\jmeter\bin。)


bin目錄下輸入命令

chmod 777 jmeter-server

chmod 777 jmeter

防止權(quán)限禁止denied


4、確定代理服務(wù)器都可以ping到所需要測試的接口的機器,然后啟用所有代理服務(wù)器上的jmeter-server


如圖為成功啟動代理服務(wù)器上的jmeter-server。

jmeter分布式測試


啟動控制器機器上的JMeter,并進入啟動 ->遠程啟動菜單項。就會看到我們剛才添加的兩個代理的地址,選中即可運行,如果想同時啟動所有代理,選擇遠程全部啟動即可。

jmeter分布式測試


控制器上的jmeter會收到指示

jmeter分布式測試


代理機上開始測試和完成測試的指示

jmeter分布式測試


5、注意結(jié)果

JMeter遠程啟動測試中出現(xiàn)結(jié)果的響應(yīng)數(shù)據(jù)為空,原因是:

分布式測試中,通過遠程啟動代理服務(wù)器,注重的而是高并發(fā),默認(rèn)查看結(jié)果樹中的響應(yīng)數(shù)據(jù)為空,只有錯誤信息會被報回。


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

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

AI