Jmeter分佈式壓測部署及應用

1 windows環境

1.1 配置環境變量

安裝jdk-8u151-windows-x64.exe,無腦下一步

添加JAVA_HOME
C:\Program Files\Java\jdk1.8.0_151

如下圖

在這裏插入圖片描述

添加JMETER_HOME
D:\辦公\3.軟件\jmeter5.1+java1.8\apache-jmeter-5.3

如下圖
在這裏插入圖片描述

添加CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

如下圖
在這裏插入圖片描述

添加Path
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
%JMETER_HOME%\bin

如下圖
在這裏插入圖片描述

1.2 修改Jmeter配置文件

#D:/**/apache-jmeter-5.3/bin/jmeter.properties

server.rmi.ssl.disable=true      # 改成true

#添加負載機:
remote_hosts=172.168.0.2:1099,172.168.0.3:1099,172.168.0.4:1099

1.3啓動jmeter

在這裏插入圖片描述
根據測試需求配置需要的線程(這裏創建一個web接口的測試模板提供參考)
在這裏插入圖片描述
添加請求頭header
在這裏插入圖片描述
測試地址根據需求填寫,注意下圖要勾選使用keepalive
(不勾選keep-alive的時候,當建立連接,數據傳輸完畢之後,服務器就會率先發起斷開連接的操作,這個時候連接的狀態爲TIME_WAIT,並會保持2MSL(即兩倍的分段最大生存期)。處於TIME_WAIT狀態的連接佔用的資源不會被內核釋放,所以會嚴重影響服務器的處理能力,甚至耗盡socket,導致其他的請求不能處理。)

在這裏插入圖片描述
單機壓測,查看報告
在這裏插入圖片描述

1.4啓動分佈式jmeter

開啓slave
把安裝包分發到slave機器
如上配置文件中填寫的
172.168.0.2,172.168.0.3,172.168.0.4
在slave機上啓動客戶端jmeter-server.bat
在這裏插入圖片描述
啓動後,如下圖看到slave已經啓動。
在這裏插入圖片描述
slave機啓動後,在master選擇 運行,遠程啓動/遠程啓動所有,就可以分佈式的多臺slave機一起壓測了。
在這裏插入圖片描述

2 linux環境

2.1 安裝jdk+jmeter5.3

1)下載rpm包jdk-8u101-linux-x64.rpm上次到服務器
2)安裝jdk-rpm包

rpm -ivh jdk-8u101-linux-x64.rpm

在這裏插入圖片描述
3)驗證安裝是否生效

java -version

在這裏插入圖片描述
4)jmeter上傳於解壓
上傳apache-jmeter-5.3.zip到服務啓
#解壓

#解壓
unzip apache-jmeter-5.3.zip -d /usr/local/
chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter
chmod 777 /usr/local/apache-jmeter-5.3/bin/jmeter-server

2.2 配置環境變量

修改/etc/profile文件,並添加:

#vi /etc/profile
#插入一下內容
export JMETER_HOME=/usr/local/apache-jmeter-5.3
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH

配置的環境變量即可生效

source /etc/profile

驗證jmeter安裝是否生效

jmeter --version

在這裏插入圖片描述

2.3 環境優化

1)配置jmeter的使用內存,根據實際服務器和測試需求量來修改

vi /usr/local/apache-jmeter-5.3/bin/jmeter

在這裏插入圖片描述
2)優化linux內存參數
修改limits.conf文件,並添加:

#vi /etc/security/limits.conf
*  soft  nofile    102400
*  hard  nofile    102400
*  soft  nproc     65535
*  hard  nproc     65535

重新打開SSH終端,執行如下命令查看是否生效

ulimit -n

在這裏插入圖片描述
修改/etc/sysctl.conf文件,並添加:

vi  /etc/sysctl.conf
net.ipv4.tcp_syncookies = 0
fs.file-max = 12553500
fs.nr_open = 12453500
kernel.shmall= 1048576
kernel.shmmax = 1887436
kernel.msgmax = 65536
kernel.sysrq = 0
kernel.pid_max= 65536
net.core.netdev_max_backlog = 2000000
net.core.rmem_default = 699040
net.core.rmem_max = 50331648
net.core.wmem_default = 131072
net.core.wmem_max = 33554432
net.core.somaxconn = 65535
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_mem = 1048576 1572864 2097152
net.ipv4.tcp_rmem = 4096 4194304 8388608
net.ipv4.tcp_wmem = 4096 4194304 8388608
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_window_scaling = 1
vm.swappiness = 0

#TCP connection recovery
net.ipv4.tcp_max_tw_buckets = 6000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.route.max_size = 5242880
net.ipv4.ip_forward = 1
#0表示不開啓檢查時間錯,建議設置0
net.ipv4.tcp_timestamps = 0
#開啓對於TCP時間戳的支持,若該項設置爲0,則下面一項設置不起作用

#TCP connection manager
net.ipv4.tcp_max_syn_backlog = 655360
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 6

#TCP keepalive
net.ipv4.ip_local_port_range = 1025 65534
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3

輸入下面的命令,讓內核參數生效:

sysctl-p

2.4 修改Jmeter配置文件

#vi /usr/local/apache-jmeter-5.3/bin/jmeter.properties

server.rmi.ssl.disable=true      # 改成true

#添加負載機:
remote_hosts=172.168.0.2:1099,172.168.0.3:1099,172.168.0.4:1099

2.5 修改jmx文件

通過windows打開jmeter,同上面windows配置把需要壓測的信息配置完成後,保存爲****.jmx文件,上傳到linux服務。

2.6 啓動jmeter

1)先分別啓動slave上的服務,命令如下

jmeter-server -Djava.rmi.server.hostname=172.168.0.2 #本地IP

2)啓動master,命令如下

jmeter -n -t ****.jmx   -r   -l   /tmp/result/test.jtl   -e  -o   /tmp/report

參數 n:非gui運行
t:指定測試腳本
R:指定多少個 agent 啓動並參與測試
r: 代表全部 agent 啓動並參與測試
l:生成測試結果文件

2.7 打包查看測試報告

將linux下的report打包成zip,然後導出到windows下查看index.html測試報告

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章