1. 程式人生 > >Windows和Linux的Jmeter分散式叢集壓力測試

Windows和Linux的Jmeter分散式叢集壓力測試

Windows的Jmeter分散式叢集壓力測試

  在使用Jmeter進行效能測試時,如果併發數比較大(比如最近專案需要支援1000併發),單臺電腦的配置(CPU和記憶體)可能無法支援,這時可以使用Jmeter提供的分散式測試的功能。

一、Jmeter分散式執行原理:

  1、Jmeter分散式測試時,選擇其中一臺作為排程機(master),其它機器做為執行機(slave)。

  2、執行時,master會把指令碼傳送到每臺slave上,slave 拿到指令碼後就開始執行,slave執行時不需要啟動GUI,我理解它應該是通過命令列模式執行的。

  3、執行完成後,slave會把結果回傳給master,master會收集所有slave的資訊並彙總。

二、執行機(slave)配置:

1、slave機上需要安裝Jmeter,具體如何安裝這裡不詳細介紹了。

  2、新增環境變數:JMETER_HOME=D:\B_TOOLS\apache-jmeter-2.13,此處為你Jmeter的路徑

  3、啟動bin目錄下的:jmeter-server.bat,啟動成功如下圖:

  

  4、上圖上標紅的IP和埠會在master裡配置時用到。IP就是slave機器IP,埠預設是1099,埠也可以自定義,這裡我自定義為1000,這個後面會講。 

  5、多臺slave的話,重複1~4步驟就好。  

三、排程機(master)配置:

1、指令碼:簡單的一個訪問百度的指令碼: 

  

2、找到Jmeter的bin目錄下jmeter.properties

檔案,修改如下配置,IP和Port是slave機的IP以及自定義的埠(這裡埠我自定義為100,後面會講如何自定義):

        remote_hosts=10.13.223.202:1000,10.13.225.12:1000

多臺slave之前用","隔開,我這配置了2臺,可以看到標紅的這個就是上面截圖slave的IP和Port.

3、開啟Jmeter,選擇執行,有運程啟動、運程全部啟動兩個選項:

  

4、選擇遠端啟動-->10.13.225.12:1000

    a) master結果,這裡我只啟動了10.13.225.12:1000這一臺slave,所以只有一個結果(執行緒數和迴圈次數都是1):

  

    b) slave控制檯資訊:

   

  5、選擇遠端啟動-->遠端全部啟動:

    a) master結果,全部啟動,我配置了2臺slave,所以有兩次執行結果:

  

四、自定義埠:

上面其實已經實現了Jmeter的分散式測試,這部分主要介紹下如何自定義slave埠:

  1、slave:在slave機的Jmeter的bin目錄下,找到jmeter.properties檔案,修改如下兩個配置項,比如我這裡修改為1888:

      server_port=1888

      server.rmi.localport=1888

2、啟動slave機上的jmeter-server.bat如下圖,埠已經修改為:1888

  

3、master:修改master機器的jmeter.properties檔案:

      remote_hosts=10.13.223.202:1000,10.13.225.12:1888

  4、重啟jmeter.bat,如下圖,埠已經變了:

  

五、其它說明:

  1、排程機(master)和執行機(slave)最好分開,由於master需要傳送資訊給slave並且會接收slave回傳回來的測試資料,所以mater自身會有消耗,所以建議單獨用一臺機器作為mater。

  2、引數檔案:如果使用csv進行引數化,那麼需要把引數檔案在每臺slave上拷一份且路徑需要設定成一樣的。

  3、每臺機器上安裝的Jmeter版本和外掛最好都一致,否則會出一些意外的問題。

Linux的Jmeter分散式叢集壓力測試

1.前言

對於運維工程師來說,需要對自己維護的伺服器效能瓶頸瞭如指掌,比如我當前的架構每秒併發是多少,我伺服器最大能接受的併發是多少,是什麼導致我的效能有問題;如果當前架構快達到效能瓶頸了,是橫向擴容效能提升大,還是縱向擴容效能提升大。

如果需要了解這些資訊,需要在兩方面下功夫,一個是對伺服器進行效能測試,一個是對伺服器進行效能監控。

通過對伺服器進行效能測試:我們可以瞭解到當前架構的效能瓶頸,還可以對架構橫向擴容和縱向擴容來進行測試,對後期的架構擴容提供資料參考。

通過對伺服器進行效能監控:我們可以瞭解當前伺服器的CPU、記憶體、IO等資源是否耗盡,我們可以在監控系統新增觸發器,一旦伺服器資源在快要達到瓶頸的時候,我們可以觸發一個報警讓運維人員來處理,也可以觸發一個讓架構進行自動化擴容(如果是雲平臺,直接呼叫api建立主機,ansible部署應用和程式)

本文將介紹下,我在工作中使用jmeter測試效能瓶頸的一些實踐。本文做效能測試適用於移動網際網路架構,非移動網際網路架構有其他更好的測試方法。

2.Jmeter分散式壓測介紹

在工作中使用jmeter做大併發壓力測試的場景下,單機受限記憶體、CPU、網路IO,會出現伺服器壓力還沒有上去,但是壓測伺服器已經由於模擬的壓力太大宕機了。為了讓jmeter工具提供更強大的負載能力,jmeter提供了多臺機器同時產生負載的機制,下面是架構圖。

image001

原理:比如我在jmeter server配置執行緒數為10,迴圈次數為100,也就是會對測試伺服器發起1000次請求,我有3臺agent伺服器,如果我在server端選擇遠端啟動壓力測試,那麼每臺agent都會對測試伺服器發起10*100次請求,那麼這次壓力測試產生的請求就是10*100*3=3000次。

如果對原理不是很明白,看完下面的操作之後就會理解了。

3.Jmeter分散式壓測環境搭建

3.1.搭建前說明

伺服器環境說明:做效能測試可以直接在在雲平臺按需購買壓力機,一旦測試結束釋放壓力機即可。

image002

分散式環境壓力伺服器要求:

  • 需要server(控制機)和agent(壓力機),agent搭建在linux(centos 6.5)伺服器環境下,server搭建在windows(server 2012)環境下。
  • 壓力測試瓶頸大都在頻寬上面,需要保證壓力機的頻寬要比伺服器的頻寬高,不然壓力上不去。
  • 需要保證agent和server都在一個網路中,且在多網絡卡環境需要保證啟動的網絡卡都在一個網段。
  • 需要保證server和agent之間的時間同步。
  • 關閉防火牆。

3.2.Windows部署jmeter

(1)部署jdk環境,配置path變數,安裝完成效果如下

image003

(2)直接去官網下載最新的二進位制原始碼包即可。

(3)解壓jmeter到指定目錄,設定path變數,安裝完成之後,在命令列執行jmeter命令,如果可以正常啟動jmeter,說明環境配置ok。

image004

3.3.Linux部署jmeter

(1)下載安裝

1234wget http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-3.1.zipunzip apache-jmeter-3.1.zip -d /usr/local/cd /usr/local/ln -s apache-jmeter-3.1/ jmeter

(2)配置啟動指令碼

1234567891011121314151617181920212223242526272829#!/bin/bash# chkconfig: 345 26 74# description: jmeter agentmyip=`ifconfig eth0 |awk '/inet addr/{gsub(/addr:/,"");print $2}'`cmd="/usr/local/jmeter/bin/jmeter-server -Djava.rmi.server.hostname=$myip"start(){$cmd &}stop(){jmeter_pid=`ps aux | grep jmeter-server | grep -v grep awk '{print $2}'`for pid in $jmeter_pid;dokill -9 $piddone}act=$1case $act in'start')start;;'stop')stop;;'restart')stop

相關推薦

WindowsLinux的Jmeter分散式叢集壓力測試

Windows的Jmeter分散式叢集壓力測試  在使用Jmeter進行效能測試時,如果併發數比較大(比如最近專案需要支援1000併發),單臺電腦的配置(CPU和記憶體)可能無法支援,這時可以使用Jmeter提供的分散式測試的功能。一、Jmeter分散式執行原理:  1、Jm

windows Apache ab安裝及壓力測試

一:安裝 ab是Apache自帶的網站壓力測試工具。使用起來非常的簡單和方便。不僅僅是可以Apache伺服器進行網站訪問壓力測試,還可以對其他型別的伺服器進行壓力測試。比如nginx,tomcat,IIS等 首先當然是下載安裝了。在這裡只講window下在下載安裝官方下載地址:,(https://www.

記錄workmangolang的websocket壓力測試

公司專案採用php編寫,而在websocket這一塊一直使用的是workman, 由於產品升級,考慮到c端的使用者將增多,所以對websocket服務的壓力測試迫在眉睫, 閒話不表,在這裡記錄影響websocket併發數的幾個問題: 1、伺服器cpu和記憶體 測試伺服

Kafka 單機分散式叢集搭建

  感覺自己越來越像個運維了,真的是所有的分散式的中介軟體基本都搭建了一遍   不得了了。 好 廢話少說 , 還是來走Kafka 吧 , 經歷了Rocket MQ , Kafka 的搭建真的是簡單的不知道多少倍 , RocketMQ  實在 是太麻煩了。 還是老方

ab簡單的叢集壓力測試驗證

Apache附帶的ab工具(本機使用的PHP環境是WAMP整合環境,ab工具位於D:\wamp\bin\apache\Apache2.2.21\bin)非常容易使用,ab可以直接在Web伺服器本地發起測試請求,這至關重要,因為有些時候我們需要測試的僅僅是伺服器的處理效能,

zookeeper執行環境2、3:單節點安裝分散式叢集安裝

轉載:http://www.aboutyun.com/thread-9097-1-1.html 問題導讀: 1.什麼是zookeeper 2.zookeeper有幾種安裝方式? 3.zookeeper偽分佈如何配置myid? 4.zookeeper包含哪些常用操作命令? 前

Hadoop本地模式、偽分散式分散式叢集安裝與部署

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/

kafka2.9.2的分散式叢集安裝demo(java api)測試

問題導讀1、什麼是kafka?2、kafka的官方網站在哪裡?3、在哪裡下載?需要哪些元件的支援?4、如何安裝?  一、什麼是kafka?  kafka是LinkedIn開發並開源的一個分散式MQ系統,現在是Apache的一個孵化專案。在它的主頁描述kafka為一個高吞吐量

hadoop學習第二天~Hadoop2.6.5完全分散式叢集搭建測試

環境配置: 系統 centos7 節點 192.168.1.111 namenode 192.168.1.115 datanode2 192.168.1.116 datanode3 java 環境 :

RF+Appium壓力測試:安裝卸載升降級測試(續)

margin h310 http pve slb blank xmx left uda 帕郵H堂40藏nd銑0zhttp://tushu.docin.com/ktj35525 64F0h槳樟6ukahttp://tushu.docin.com/pigzd7753 品e咕褂刀

MySQL常用配置性能壓力測試:MySQL系列之十五

text imu reat ini -o blocks debug 生成 存在 一、MySQL常用配置 以下所有配置參數以32G內存的服務器為基 1、打開獨立的表空間 innodb_file_per_table = 1 2、MySQL服務所允許的同時會話數的上限,默認為

Windows 7環境下網站效能測試小工具 Apache Bench Webbench使用下載

1、簡要說明: Apache Bench 是Apache的網站效能測試小程式,Windows平臺下的程式名簡稱ab.exe,要想獲得這個80k的可執行程式,使用者需要下載整個Apache Httpd軟體包!還需要將其安裝到電腦上,確實比較麻煩。 Webbench也是一款網站效能測試小程式,可以獲得網站

jmater分散式壓力測試總結

總結,總是為了方便以後   1、jmeter 2000個併發,4臺slave ,每臺slave是500個執行緒即可完成測試 2、jmx檔案只需要拷貝到master下 jmeter目錄下(最保險的方法) 3、CSV檔案需要拷貝到4臺slave相同路徑上,每臺500個user必須是不一致的,否則

以yarn client分散式叢集方式執行spark-2.3.2-bin-hadoop2.6

一以分散式叢集執行 修改配置檔案/hadoop_opt/spark-2.3.2-bin-hadoop2.6/conf/spark-env.sh export HADOOP_CONF_DIR=/hadoop_opt/hadoop-2.6.1/etc/hadoop expo

windowsUbuntu下的對拍測試多組樣例

文章目錄 shell語言 Bat shell語言 【Shell指令碼攻略】-shell中各種括號()、(())、[]、[[]]、{}的作用 Shell 輸入/輸出重定向 Shell $0, $#, $*, [email pr

Windows 下 Zookeeper 單機模式分散式模式安裝

安裝jdk 安裝Zookeeper. 在官網http://mirrors.hust.edu.cn/apache/zookeeper/下載zookeeper.我下載的是zookeeper-3.4.10版本。 解壓zookeeper-3.4.10至D:\dev\zookeep

Apache ab壓力測試工具Window下載用法詳解

ab是apache自帶的網站壓力測試工具。 使用起來非常的簡單和方便。 不僅僅是可以apache伺服器進行網站訪問壓力測試,還可以對其他型別的伺服器進行壓力測試。 比如nginx,tomcat,IIS等 首先當然是下載安裝了。 在這裡只講window下在下載安裝 官方下載地址:,(htt

selenium Gird2——瀏覽器引數化分散式測試

selenium server環境配置 下載Java JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm 下載Selenium Standalone Server:https://w

Linux入門實踐筆記(六)——壓力測試工具Apache Bench的安裝、使用結果解讀

內容   本文介紹了壓力測試工具Apache Bench在Centos系統中的安裝,常用的測試指令,以及測試結果的解讀。 版本 ​  作業系統: CentOS 7.2 64位   Apache Bench:2.3 說明   轉載請說明出處:Linux入門實踐筆記(六)——壓力測試工具Apache

【Apache】Apache ab壓力測試工具Window下載用法詳解

enc ons 所有 The 產生 ima 腳本 數據 等待 ab是apache自帶的網站壓力測試工具。 使用起來非常的簡單和方便。 不僅僅是可以apache服務器進行網站訪問壓力測試,還可以對其他類型的服務器進行壓力測試。 比如nginx,tomcat,IIS等 首先當然