1. 程式人生 > >分散式壓測工具Grinder的Hello World示例教程

分散式壓測工具Grinder的Hello World示例教程

本文以壓測一個HTTP服務來說明Grinder的使用方法。本文的指令碼是Windows指令碼,Linux的指令碼與此相似。需要指出的是Console只能部署在帶有圖形介面的作業系統上,否則啟動時會報java.awt的異常。而Agent則不需要圖形介面。

  • Grinder安裝
    • 建立資料夾grinder-3.11-console和grinder-3.11-agent。將資料夾grinder-3.11下的所有檔案和子資料夾同時複製給grinder-3.11-console和grinder-3.11-agent

  • 配置Console

    • cd 到grinder-3.11-console下

    • 建立配置檔案grinder.properties。Console的grinder.properties優先順序高於Agent的grinder.properties,如果二者有相同的配置項則最終執行Console的配置。

      # 每個Agent開啟多少個程序
      grinder.processes=2
      # 每個Agent程序開啟多少個執行緒
      grinder.threads=3
      # 每一個執行緒執行多少遍測試指令碼
      grinder.runs=100
      
    • 建立startConsole.cmd,假設專案的根目錄是C:\document\project\grinder-3.11-console

      set GRINDERPATH=C:\document\project\grinder-3.11-console
      java -classpath %GRINDERPATH%\lib\grinder.jar net.grinder.Console
      
    • 建立grinder.py

      from net.grinder.script.Grinder import grinder
      from net.grinder.script import Test
      from net.grinder.plugin.http import HTTPRequest
       
      test1 = Test(1, "Hello World")
      request1 = HTTPRequest()
      test1.record(request1)
       
      class TestRunner:
          def __call__(self):
              result = request1.GET("http://192.168.16.15:8080/webservice?d=c_load_test ")
      
    • 在cmd視窗執行如下命令,開啟Console應用介面

      C:\document\project\grinder-3.11-console>startConsole.cmd
      2018-08-21 08:48:42,245 INFO  org.eclipse.jetty.server.Server: jetty-7.6.1.v20120215
      2018-08-21 08:48:42,417 INFO  org.eclipse.jetty.server.AbstractConnector: Started [email protected]:6373
      

  • 配置Agent

    • cd到 grinder-3.11-agent目錄下

    • 建立startAgent.cmd

      set GRINDERPATH=C:\document\project\grinder-3.11-agent
      java -classpath %GRINDERPATH%\lib\grinder.jar net.grinder.Grinder %GRINDERPATH%\grinder.properties
      
    • 建立grinder.properties

      grinder.consoleHost=127.0.0.1
      grinder.consolePort=6372
    • 建立grinder.py,實際執行的時候會執行console目錄下的grinder.py,但agent目錄下這個grinder.py也必須有否則會報錯。

      from net.grinder.script.Grinder import grinder
      from net.grinder.script import Test
       
      test1 = Test(1, "Hello World")
       
      class TestRunner:
          def __call__(self):
      
    • 在cmd視窗執行如下命令,啟動Agent

      C:\document\project\grinder-3.11-agent>startAgent.cmd
      2018-08-21 11:26:21,395 INFO  agent: The Grinder 3.11
      2018-08-21 11:26:21,427 INFO  agent: connected to console at localhost/127.0.0.1:6372
      2018-08-21 11:26:21,427 INFO  agent: waiting for console signal
      
    • 在Console的程序標籤頁裡,如果代理程序處於已連線狀態,則準備就緒。

  • 點選啟動Worker程序,開始測試。

  • 然後再點選開始收集統計資料。

相關推薦

分散式工具Grinder的示例教程 : headers及Cookie設定

在壓測HTTP服務時常常需要在請求前設定headers欄位,其中Cookie雖然是Header欄位但是在Grinder裡面必須要單獨由CookieModule來設定,直接在Header裡設定Cookie是不會生效的。需要指出的是Cookie的域名必須和GET的url中的域名完

分散式工具Grinder的Hello World示例教程

本文以壓測一個HTTP服務來說明Grinder的使用方法。本文的指令碼是Windows指令碼,Linux的指令碼與此相似。需要指出的是Console只能部署在帶有圖形介面的作業系統上,否則啟動時會報java.awt的異常。而Agent則不需要圖形介面。 Grinder安裝

工具Jmeter簡單入門教程

    Jmeter簡介 Jmeter的基本概念 百度百科: Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對

接口工具--jmeter

cto linux下 一點 不一致 文件讀取 coo 並發 bin 文檔 jmeter     jmeter是apache公司基於java開發的一款開源壓力測試工具,是一個較輕量的測試工具。運行需要安裝jdk環境,jmeter為免安裝軟件,    解壓後直接運行j

Apache 的 ab 工具快速使用

second request cnblogs nis ini mic roc quest connect   ab 是一個 httpd 自帶的很好用的壓力測試工具,它是 apache bench 命令的縮寫。ab 命令會創建多個並發訪問線程,模擬多個訪問者同時對某一 URL

常用工具

測試安裝yum install httpd-tools -yab 測試命令ab -c 1000 -n 1000 http://www.baidu.com常用參數-n 執行的請求數量-c 並發請求個數其他參數-t 測試所進行的最大秒數-p 包含了需要POST的數據的文件-T POST數據所使用的Content-

http工具wrk使用筆記

wrk安裝wrk 先從github上下載源碼 git clone https://github.com/wg/wrk 然後cd到wrk目錄,make安裝 make 之後即可直接使用,並且再可執行目錄下創建了軟連接 /usr/local/bin/wrk -> /usr/local/src/wrk/wrk

sysbench工具 mysql

mysqlSysbench的測試主要包括以下幾個方面: 1、磁盤io性能 2、cpu性能 3、內存分配及傳輸速度 4、POSIX線程性能 5、調度程序性能 6、數據庫性能(OLTP基準測試).sysbench 安裝註:我這裏選擇源碼包安裝sysbench0.5版本下載軟件http://repo.percona

MySQL工具--TPCC安裝,測試

enc 解讀 file 事務 AC space 過大 一次 基準 今天我們來講一下MySQL的壓力測試工具,目前我接觸到的主要有兩種壓力測試工具:TPCC,Sysbench,前者只適合MySQL數據庫OLTP壓力測試,而Sysbench功能就比較廣泛,可以測試OS的CPU,

工具之JMeter之環境配置及運行

tar load col image 技術 down files inf apache 一、下載JMeter 地址:http://jmeter.apache.org/download_jmeter.cgi 系統:win7 x64 在 Binaries 目錄下選擇一個合適自己

Mac工具(Siege)記錄.md

resp 目前 會話 figure auto pac sta web var 微信活動推廣,時常瞬時並發特別高,比如一個百萬粉絲的公眾號,後臺推送一個H5的活動,我們公司的應用在短時間內基本處於不可用的狀態,如何保證高並發下的高可用呢? Mac下安裝Siege,作為開發人

jmeter分散式實踐及踩坑記錄(linux壓力機)

1、分散式機器需要排程機以及壓力機都安裝好jmeter   1) 因為本機是mac,所以直接把本機器的jmeter壓縮打包,上傳到伺服器解壓即可。或者在伺服器上自行下載安裝jmeter。配置壓力機的jmeter系統變數: p.p1 { margin: 0.0px 0.0px 0.0px 0.0p

Jmeter 在linux下的分散式

Jmeter 在linux下的分散式壓測 0、將 windows機器作為master 控制機(同時也兼做負載機slave), linux機器作為 負載機 slave。 1、linux環境安裝 : (1)、在linux(centos)下需要安裝JDK (1.8) 和 JMETER (5.0) jdk檔案為:

http,https,TCP,UDP,apache 的ab,工具

對於http,https使用apache 的ab 對於http/2使用nghttp2的h2load 壓測http ab -k -t 180 -c 6 -n 1000000 http://172.16.37.66/index.html http2.0之壓測 h2load -c 6

輕量級web工具http_load的使用

www 令行 創建 cal 編輯器 時間 rate 工具 .com 一、http_load簡介基於linux平臺的一款針對web服務器的性能壓測工具 優點: 1.基於命令行,簡單、易於上手。 2.小巧、輕便。 缺點: 1.僅使用於基於web頁面的性能

效能監控之JMeter分散式輕量日誌解決方案

文章目錄 引言 背景 Filebeat Elasticsearch Kibana 整體架構 日誌採集架構 安裝及配置 下載及配置ElasticSearch

Redis效能工具 redis-benchmark

Redis有多快? Redis 自帶了一個叫 redis-benchmark 的工具來模擬 N 個客戶端同時發出 M 個請求。 (類似於 Apache ab 程式)。你可以使用 redis-benchmark -h 來檢視基準引數。 以下引數被支援: Usage: red

Jmeter工具使用總結

1、常用測試工具對比 1、loadrunner 效能穩定,壓測結果及細粒度大,可以自定義指令碼進行壓測,但是太過於重大,功能比較繁多 2、apache ab(單介面壓測最方便) 模擬多執行緒併發請求,ab命令對發出負載的計算機要求很低,既不會佔用很多CPU,也不會佔用太多的記憶體,但卻會給目標伺服器

ab工具的一些個人見解

ab壓測工具(linux版)由於網上教程一大把,今天也按照教程好好研究了一番,下面寫一下對此工具的一些個人見解,如有不妥,希望一起探討。 優點: 1、小巧。 2、理論支援655350併發數。實際32環境中使用,超過10000就跑不下去,更改配置後還是如此。經試驗32測試環境中支援的最高併

工具使用(vegeta)

一、壓測工具vegeta 1、介紹 Vegeta 是一個用 Go 語言編寫的多功能的 HTTP 負載測試工具,它提供了命令列工具和一個開發庫。  官方地址:https://github.com/tsenart/vegeta 2、安裝 Vegeta wget https://githu