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