Jmeter分布式測試


Jmeter分布式測試

本文為原創,轉載請注明出處:https://www.cnblogs.com/supiaopiao/p/10856821.html

一、為什么要用分布式測試?

在使用Jmeter進行性能測試時,如果並發數比較大(比如項目需要支持1000並發),單台主機的配置(CPU和內存)可能無法支持,這時可以使用Jmeter提供的分布式測試的功能。

 

二、Jmeter分布式執行原理:

 

 

 

Jmeter分布式測試時,本地jmeter作為控制機(master),其它機器做為執行機(slave)。執行時,master會把腳本發送到每台slave上,slave 拿到腳本后就開始執行。執行完成后,slave會把結果回傳給master,master會收集所有slave的信息並匯總。

 

三、配置:

注意:windows和linux上的jmeter的版本一致會比較好,將windows和linux上的防火牆都關閉。

 

(一)控制機(master)配置

 

 Windows系統上,將下載下來的jmeter解壓后,修改apache-jmeter-5.1.1\bin目錄里的jmeter.properties文件,在260行新增remote_hosts配置,配置里配置的是兩台slave主機的ip和slave主機里安裝的jmeter的端口號。

 

(二)執行機(slave)配置

 

 

1. 上傳jmeter到slave服務器

因為jmeter需要有jdk的支持所以將jdk和jmeter都上傳到slave主機/software文件夾下。

 

 

 

 

2. 解壓jdk和jmeter后配置環境變量

[root@localhost ~]# vim /etc/profile

 

#java環境變量

export JAVA_HOME=/software/jdk1.8.0_131/

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#jmeter環境變量

export JMETER_HOME=/software/apache-jmeter-5.1.1

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

export PATH=$JMETER_HOME/bin/:$PATH

 

3. 修改jmeter部分配置

打開/ apache-jmeter-5.1.1/bin目錄

(1)修改jmeter.properties文件

 

remote_hosts=192.168.0.132  #ip是這台slave主機的ip

server_port=1098 #端口號是jmeter自定義的端口號,默認是1099

備注:該remote_hosts和server_port配置需要和本地master的jmeter.properties文件里新增的260行配置一致。

 

 

 

server.rmi.localport=1098

 

 

 

 

 

server.rmi.ssl.disable = true  #否則遠程執行,會報一個ssl錯誤

 

 

 

 

#防止響應回來的數據有中文亂碼

 

jmeter.save.saveservice.response_data=true  jmeter.save.saveservice.samplerData=true

 

 

(2)修改jmeter-server文件

配置這台slave主機的ip

RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.0.132

 

 

 

4. 啟動各個slave上的jmeter

[root@localhost bin]# jmeter-server

 

(三)配置多台slave只需要參照文檔(二)進行配置即可。

執行測試

本地遠程連接slave主機上的jmeter,並執行腳本(有兩種啟動方式)

 

 

例如:本地jmeter腳本是往數據庫里添加隨機數據,循環20次。

 

 遠程連接兩台服務器上的jmeter執行后,數據庫里就會有40條數據,並且結果樹里也會收集到所有slave主機上的jmeter運行結果信息,到此一個簡單的分布式測試就完成了。


免責聲明!

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



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