【Jmeter】分布式並發測試


一、前提:

  1、最近在做一下壓測,但是單台服務器的CPU,內存可能不夠支撐壓測的項目,這時候,我們可以使用Jmeter分布式壓測。

  2、本次使用的環境:

  • 1台服務器做master(調度器)
  • 5台服務器做slave (執行器)

二、原理

  1、Jmeter分布式測試時,選擇其中一台作為調度機(master),其它機器做為執行機(slave)可以理解成壓力機。

  2、執行時,master會把腳本發送到每台slave上,slave 拿到腳本后就開始執行,slave執行時不需要啟動GUI,啟動jmeter-server.bat(windows)

    或者sh jmeter-server.sh

  

 

 三、步驟

3.1前提:

  1. 保證幾台服務器用的統一版本的jmeter
  2. 保證在同一個局域網(可以ping同)
  3. 報錯或者,conncetion timed(關閉防火牆)

3.2 slave (壓力機)配置,這邊以服務器windows

  1. 打開jmeter->bin->jmeter.properties 找到server.port 去掉注解,開啟1099遠程端口,端口號可以自己配置的,默認1099

   2.保存jmeter.properties

   3.啟動jmeter-server.bat (windows)下面

   4.有幾台壓力機,就同樣配置一下,啟動server即可

3.3 控制機器的配置

  1. 打開jmeter->bin->jmeter.properties 找到remote_hosts,吧壓機機的ip加上去,中間用,隔開,如果自定義端口,加上端口號,默認是1099端口號;

   2.保存,並且啟動jmeter.bat(也可以命令行執行,減少CPU,內存消耗)

 

四、壓測

  1. 准備好壓測腳本,我這邊場景是同時並發10000個線程,測試nginx的承受能力;
  2. 運行-遠程全部啟動-同時並發5台slave機器,右上角有並發數,綠色的時候是啟動的狀態;

 

五、補充

  1. 第一次搞得時候,很多不是同一網段,出現一些常出現的錯誤
  2. 例如出現以下以下錯誤的時候,首先要檢查是否在同一個網段里面,jmeter是否是同一個版本,然后防火牆是否關閉了,最后端口號是否正確
  3. 分布式並發的時候之前用5.0的版本總是報錯,個人覺得可能是版本號太高的原因,適當的降低下jmeter版本號

 

 

  

 


免責聲明!

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



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