jmeter分布式測試


 

場景:單台測試機做壓力測試,不能滿足服務器的上限,本機就已經到達瓶頸了。所以需要多台機器同時壓測服務器

1. 環境

Java 10 + 2台win10 + jmeter5.0

一台 win 作為調度機和負載機,另外一台單獨作為負載機

2. 安裝

2.1 兩台都安裝 Java 環境

注意jmeter4.0開始就要求至少 java8,當然這里的 jmeter5.0也是要求 java8及以上

(略)

2.2 安裝 jmeter

先到 jmeter 官網下載軟件包 https://jmeter.apache.org/download_jmeter.cgijmeter5.0下載鏈接

下載到本地后,解壓如下圖

主要使用到的目錄就是 bin 目錄, 下面包含了所有的啟動腳本。

2.3 接下來需要配置一個環境變量(遠程主機也需要這一步)

win10:右鍵【此電腦】-> 【屬性】-> 左邊欄【高級系統設置】-> 上邊欄【高級】-> 【環境變量】 -> 下方【系統變量】 -> 【新建】

注意:這里的變量值需要換成自己的目錄

win7:右鍵計算機,其他步驟大致同 win10

 

上面的步驟做完后,進入到 apache-jmeter-5.0/bin 目錄下,找到 jmeter.bat 運行

腳本運行完后,會出現圖形化界面

到這里就算是安裝成功了

3. 配置分布式環境

3.1 配置

在兩台主機上操作:

找到 apache-jmeter-5.0\bin 目錄下的 jmeter.properties 文件。通過文本方式打開后,找到 server_port 和 server.rmi.localport 兩項,去掉注釋修改為 

server_port=1099
server.rmi.localport=1099
 
找到 server.rmi.ssl.disable 項,去掉注釋修改為
server.rmi.ssl.disable=true
 
解釋:這兩個端口默認就是 1099,防止可能出現端口綁定出錯的情況,直接顯式指定了。后面的 server.rmi.ssl.disable 是指定不使用加密通信
這里需要注意的是,1099 也可以換成其他端口,注意防火牆需要放行
 
在在主機(調度機)上配置:
同樣是在 jmeter.properties 文件,找到 remote_hosts 字段,增加遠程主機的地址
在本文中,本機也作為調度機,所以添加兩個地址,分別為兩台主機的地址,端口為上面配置的端口
remote_hosts=192.168.56.1:1099,192.168.56.2:1099

3.2 啟動

啟動遠程主機:在 apache-jmeter-5.0\bin 目錄下,啟動 jmeter-server.bat 

這里的 192.168.56.1:1099 表示遠程節點的監聽綁定地址,檢查是否正確

注意:如果此處的地址不正確,請停止其他虛擬網卡。建議禁用所有虛擬網卡

啟動本機:
本地需要啟動兩個腳本。一個是作為壓力測試機的 jmeter-server.bat (同上),一個是 jmeter.bat 腳本(用來管理所有的遠程節點)

3.3 測試

創建一個簡單的訪問測試
step 1:添加一個線程組

step 2:在線程組下添加 http 請求

step 3:編輯 http 請求,填寫下面參數。

ps: 請求的地址為氣象局網站 http://www.cma.gov.cn,因為這個網站支持 http 讓演示簡單

step 4:添加查看結果報告

step 5:啟動遠程測試,選擇遠程主機

檢查結果:請求成功。如果選擇遠程啟動所有的話,這里會出現兩條結果

3.4 安裝插件

如果需要看更多的東西,比如 rps,tps 等結果,jmeter 原生是不支持的。需要安裝插件,此處以 tps 插件為例

插件網站 https://jmeter-plugins.org/wiki/Start/,找到 tps 插件

點擊下載

跳轉到插件頁面:

下載地址 2.0

下載后是一個 lib 包,直接拷貝到 jmeter 目錄下即可。然后重新打開 jmeter.bat,就能看見插件

其他插件按照需要執行上述安裝步驟即可

4. 測試用例編寫

下面簡單介紹常用的組件含義

線程組中用來添加請求的並發數,和請求次數

斷言中用來判斷請求結果

簡單的測試可以如下圖,將常用的變量放在用戶自定義變量中,使用的格式為 ${變量名},聚合報告可以查看所有請求的結果,及相關信息

 


免責聲明!

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



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