Jmeter—聯機負載(分布式)


轉自:https://blog.csdn.net/Rainday666/article/details/102641465

·聯機負載:
Jmeter本身的性能問題,導致很多時候我們都需要采用分布式(聯機負載)的方式來進行性能測試。

·前提條件:
·控制機和負載機、負載機和被測服務器之間的網絡是通暢。
·控制機和負載機上具有相同的jmeter環境。

·操作步驟:
·第一步:啟動負載機上的Jmeter-server.bat。
PS:默認情況下,server端采用的通信端口是1099,不被占用即可。如果需要修改該端口,則修改jmeter.properties文件中的server_port屬性即可。要求端口未被占用。
如果負載機的server_port被修改,則控制機上添加負載機的時候,host:port中的port也要對應修改。(不需要修改控制機上的server_port屬性)。

·第二步:在控制機上添加負載機。
是通過修改控制機的jmeter.properties文件來實現。
屬性:remote_hosts。
示例:
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010
remote_hosts=192.168.2.212:8000,192.168.2.100:1099
PS:表示新增兩台負載機,分別是2.212:8000,2.100:1099
多台負載機之間使用逗號分隔。
修改之后,需要重啟jmeter。

·第三步:啟動。
在jmeter中,遠程啟動有兩種方式:
·遠程啟動:選中某一台負載機,運行腳本。
·遠程全部啟動:直接啟動所有的負載機運行腳本。

·注意事項:
1、從jmeter4.0開始,分布式負載開始支持基於https的模式(默認)。該模式下,需要額外進行操作:
·在控制機上運行bin目錄下的腳本:create-rmi-keystore.bat
則會在bin目錄下生成密鑰文件:rmi_keystore.jks
·將密鑰文件rmi_keystore.jks復制到負載機的Jmeter的bin目錄即可。

當然,也可以通過修改控制機與負載機的配置文件jmeter.properties,設置不使用https模式,而是采用http模式。
#server.rmi.ssl.disable=false
默認值是false,表示使用ssl模式。
如果不希望使用,則修改為:
server.rmi.ssl.disable=true
PS:控制機和負載機都修改。

2、聯機負載時,腳本的運行環境是負載機。
這就意味着我們在做聯機負載時,要盡可能的保證負載機和控制機的環境的一致性。
常見的有:
·系統環境變量
·基礎環境,比如說jmeter版本和JDK版本。
·第三方文件(參數文件),需要人為的復制分發到負載機。腳本中的訪問路徑:
·如果控制機和負載機的操作系統類型一致,則建議使用絕對路徑。
·如果控制機和負載機的操作系統類型不一致,則只能使用相對路徑。
·在本地(控制機上),當前路徑是腳本所在路徑。
·在遠程(負載機上),當前路徑是Jmeter的bin目錄所在路徑。

3、遠程全部啟動時,如果負載機的數量大於等於兩台。腳本是分別、獨立、同步在不同的負載機上運行的。
這就意味着,對於服務器而言,承受的壓力是:
線程組設計的壓力×負載機的數量。

4、如果需要獲取錯誤響應,則需要修改模式為:standard。
默認情況下,負載機是只會將一些特定的數據反饋給控制機的,通常不會包含服務器的響應。
則需要修改以下配置(包括控制機和負載機)。
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data.on_error=true

#Remote batching support
mode=Standard

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM