Jmeter壓測過程當中,因爲測試機配置有限,CPU、內存均可能是存在瓶頸。若是使用很大的併發進行測試時,就可能會感到程序比較卡,這時候就沒法繼續增長壓力了。java
解決方法:linux
搭建Jmeter分佈式集羣,遠程啓動測試。apache
步驟以下:windows
一、在分佈式集羣中,腳本編輯、控制的機器叫作「client」,實際運行Jmeter測試腳本,負責向被測服務器發請求的機器,稱爲「server」。網絡要求server和client須要網絡互通。找幾臺機器做爲 server,而後client和server相互ping彼此的ip地址,若是能ping通,說明網絡是ok的。服務器
二、和client同樣,server能夠是linux系統,也能夠是windows系統。
網絡
在本文演示中,做爲client機器,ip是172.31.132.242。併發
做爲server機器,ip是172.17.3.212。分佈式
三、演示中,由於server是linux系統的,咱們須要去官網下載linux系統對應的JMeter安裝文件,解壓便可。測試
進入安裝目錄:apache-JMeter-2.13/bin下,啓動server端程序,執行:./JMeter-server (windows下啓動JMeter-server.bat)spa
若是server機器有多個ip,啓動的時候能夠指定一個,如:
./JMeter-server-Djava.rmi.server.hostname=172.17.3.212
配置和啓動client端安裝目錄的bin文件夾下,找到JMeter.properties文件
打開文件,並找到remote_hosts=127.0.0.1這一行,修改成server服務器的列表,以下所示,若是server有多個,那麼多個機器地址之間使用英文逗號分隔:
其實,client本身能夠同時做爲一個server機器,向服務端發送請求(前提是client上也啓動了JMeter-server程序),因此也能夠把client的ip加上,添加本身只須要寫127.0.0.1便可。
若是client有多個ip,也能夠在啓動的時候指定一個。 若是是windows系統,能夠修改jmeter.bat啓動腳本寫明client這臺機器的ip地址便可。
修改完畢後保存,啓動Jmeter,打開界面。
執行分佈式測試
打開client端的JMeter界面,點擊運行-遠程啓動,裏面能看到配置好的server端的機器列表。
此時能夠啓動一個遠程機器,也能夠選擇下面的「遠程所有啓動」,同時啓動全部的server。 點擊後,client端會自動和server端的服務創建鏈接,下發測試腳本到server端; 等server端的測試所有結束後,會將測試結果彙總到client端,咱們在client端配置的監聽器就能看到測試結果了。