# JMeter分布式測試 ###### tags: `壓力測試` [ToC] ## 概念 Jmeter 分散式測試時,客戶端機器(window 系統或 Linux 伺服器)作為一個控制器 Master,控制多台 slave 機器的操作。 ![分布式压测原理](https://hackmd.io/_uploads/B1_N4L44p.png) ## 配置 * Master機 打開bin/jmeter.properties 1. 修改remote_hosts(填入Slaves的IP) remote_hosts=IP1:PORT1 , IP2:PORT2 , ... , IPn:PORTn 2. 修改server_port server_port=1099 3. 關閉SSL server.rmi.ssl.disable=true 其中remote_hosts也可以加入自己的IP(例如:127.0.0.1) * Slaves機 打開bin/jmeter.properties 1. 修改server.rmi.localport server.rmi.localport=1099 2. 修改server_port server_port=1099 3. 關閉SSL server.rmi.ssl.disable=true * IP相關問題 1. 電腦當前IP要在CMD使用ipconfig,通常是看IPv4位址 2. 在某些特殊情況,執行jmeter-server.bat時會發現endpoint的IP跟本機的IP不相同,這時候需要多調整bin/system.properties的java.rmi.server.hostname參數成本機的IP ![image](https://hackmd.io/_uploads/BJoAYdNVT.png) ## 執行 進入Jmeter GUI後在工具列點擊```Run > Remote Start(All)``` ![image](https://hackmd.io/_uploads/SyxhxKVE6.png) * Remote Start:可指定要運行的Slaves機 * Remote Start All:運行remote host中所有的Slaves機 執行完後需要手動在工具列點擊```Run > Remote Stop(All)``` * Remote Start:僅停止指定的Slaves機 * Remote Start All:停止所有remote host中所有的Slaves機