JMeter 分布式性能测试
作為一個(gè)純 JAVA 的GUI應(yīng)用,JMeter 對(duì)于CPU和內(nèi)存的消耗還是很驚人的,所以當(dāng)需要模擬數(shù)以千計(jì)的并發(fā)用戶時(shí),使用單臺(tái)機(jī)器模擬所有的并發(fā)用戶就有些力不從心,甚至還會(huì)引起JAVA內(nèi)存溢出的錯(cuò)誤。不過,JMeter 也可以像 LoadRunner 一樣通過使用多臺(tái)機(jī)器運(yùn)行所謂的 Agent 來(lái)分擔(dān) Load Generator 自身的壓力,并借此來(lái)獲取更大的并發(fā)用戶數(shù)。根據(jù) JMeter官方文檔的署名,你需要自己完成這個(gè)配置,不過不用擔(dān)心,這將非常簡(jiǎn)單 ^_^
1. 在所有期望運(yùn)行 JMeter 作為 Load Generator 的機(jī)器上安裝 JMeter,并確定其中一臺(tái)機(jī)器作為 Controller,其他的機(jī)器作為 Agent。然后運(yùn)行所有 Agent 機(jī)器上的JMeter-server.bat文件——假定我們使用兩臺(tái)機(jī)器 192.168.0.1 和 192.168.0.2 作為 Agent;
2. 在Controller 機(jī)器的 JMeter 安裝目錄下找到 bin 目錄,再找到 JMeter.properties 這個(gè)文件,使用記事本或者其他文字編輯工具打開它;
3. 在打開的文件中查找“remote_hosts=”這個(gè)字符串,你可以找到這樣一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示運(yùn)行 JMeter Agent 的機(jī)器,這里需要修改為“remote_hosts=192.168.0.1:1664,192.168.0.2:1664”——其中的 1664 為 JMeter 的 Controller 和 Agent 之間進(jìn)行通訊的默認(rèn) RMI 端口號(hào),在遠(yuǎn)程的agent機(jī)器中bin目錄下找到j(luò)meter.properties文件,?比如我這里修改為1664:
server_port=1664
server.rmi.localport=1664
? ? ? ? ??啟動(dòng)slave機(jī)上的jmeter-server.bat,端口已經(jīng)修改為:1664。然后,啟動(dòng)slave機(jī)器jmeter_home/bin目錄中的jmeter-server.bat。
如果修改了slave機(jī)器的通訊端口,那么master(controller)機(jī)器的remote_hosts也需要修改。
?
4. 保存文件,并重新啟動(dòng) Controller 機(jī)器上的 JMeter.bat,并進(jìn)入 Run -> Remote Start 菜單項(xiàng),會(huì)看到遠(yuǎn)程的agent機(jī)器和端口。
注意:jmeter分布式相當(dāng)于一個(gè)負(fù)載機(jī)運(yùn)行一個(gè)場(chǎng)景,把數(shù)據(jù)傳輸給主機(jī)計(jì)算報(bào)告(比如:場(chǎng)景中設(shè)置100線程,那么3臺(tái)的負(fù)載機(jī)都啟動(dòng)100線程,共300)
?
其它說(shuō)明:
?
1、調(diào)度機(jī)(master)和執(zhí)行機(jī)(slave)最好分開,由于master需要發(fā)送信息給slave并且會(huì)接收slave回傳回來(lái)的測(cè)試數(shù)據(jù),所以mater自身會(huì)有消耗,所以建議單獨(dú)用一臺(tái)機(jī)器作為mater。
?
2、參數(shù)文件:如果使用csv進(jìn)行參數(shù)化,那么需要把參數(shù)文件在每臺(tái)slave上拷一份且路徑需要設(shè)置成一樣的。
?
3、每臺(tái)機(jī)器上安裝的Jmeter版本和插件最好都一致,否則會(huì)出一些意外的問題。
?
轉(zhuǎn)載于:https://www.cnblogs.com/shengs/p/5006683.html
總結(jié)
以上是生活随笔為你收集整理的JMeter 分布式性能测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 问题之 排序规则(
- 下一篇: 解决iptables和vsftpd设置的