因爲本地環境無法發大壓力,所認藉助硬件資源更好,更多的服務器一起發壓,和Loadrunner一樣,jmeter也提供這個功能。
1、配置環境
把控制多個機器執行的機器稱作Controller(172.23.0.247)我的是mac上,把真正向服務器施加壓力的機器成爲Agent(192.168.40.44),我的是linux服務器
Controller與Agent的Jmeter版本要一致,否則會出現遠程調用失敗(JRMP)
Controller機器:Jmeter安裝路徑的bin下配置Agent,jmeter.properties追加,多臺用逗號分開
remote_hosts=192.168.40.44:1029
Agent機器:Jmeter安裝路徑的bin下,編輯jmeter.properties文件,追加如下內容
server_port=1029
server.rmi.localport=1029
2、準備數據
參數文件:Controller機器的參數文件配置元件CSV Data Set Config中,FileName要給絕對路徑,爲Agent機器的路徑,且在該路徑中放上參數文件
其他文件:java請求中,jar包放在JMeter /lib/ext目錄下,第三方依賴包放在JMeter /lib目錄下
3、在Agent機器,的bin目錄執行./jmeter-server。如果不啓動,會報無法連接的錯誤。
4、運行,查看結果
遇到的問題
1、Server failed to start: java.rmi.server.ExportException: Listen failed on port: 1029; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
在jmeter.properties中修改server.rmi.ssl.disable=false爲server.rmi.ssl.disable=true