在工做中會遇到這樣的狀況:作壓力測試,本地一臺機器壓服務器,遠遠不夠服務器的瓶頸;因爲CPU、內存等資源的因素,併發量沒法繼續加大,這時能夠考慮多臺機器聯合起來壓服務器。java
本文介紹jmeter分佈式測試配置步驟。官網文檔linux
幾個概念:master和slave要在同一個局域網,slave和target之間的網絡要是通的。apache
master: 運行jmeter GUI,控制着整個測試的機器。windows
slave:運行jmeter-server, 接收master的測試命令,向目標機器請求。服務器
target:目標機器,被壓力測試機器。網絡
配置運行:併發
一、slave配置。在jmeter/bin目錄下,執行jmeter-server(windows執行jmeter-server.bat)。windows上的執行效果出現相似文字「Created remote object: UnicastServerRef [liveRef」,說明slave啓動成功。若是沒有,則說沒有找到java的安裝路徑,或者機器上安裝了多個jdk。這時,編輯jmeter-server.bat,找到「:setCP」這一行,編輯後的內容以下。在linux上,安裝了jdk,執行jmeter-server便可。分佈式
:setCP START D:\Program Files\Java\jre7\bin\rmiregistry.exe測試
二、master配置。在jmeter/bin目錄下,編輯 jmeter.properties,找到「 remote_hosts=127.0.0.1」,配置slave的ip,能夠有多個,ip之間用","隔開,以下:spa
remote_hosts=slave1_ip,slave2_ip,...
三、執行測試。在jmeter/bin目錄下,執行jmeter.bat,而後新建測試計劃、或者打開已有的測試計劃,
點擊菜單:運行-->遠程啓動(遠程所有啓動)。
「遠程啓動」能夠看到步驟2中添加的ip,點擊ip,就是向相應的slave發佈命令,salve跑測試計劃。
「遠程所有啓動」,向全部的slave發佈命令,slave跑測試計劃。
配置運行的過程比較簡單。須要注意的是:master和slave運行的jmeter版本最好一致;若是master發佈命令不成功,salve沒有執行測試計劃,可能須要關閉salve的防火牆。