jmeter安裝包_分布式執行jmeter腳本步驟(非GUI)

備注:【Linux查看服務器是32位還是64位命令】

uname -m

getconf LONG_BIT

1.Linux環境安裝jmeter

可參考https://www.cnblogs.com/surewing/p/9271886.html

如需要用到3臺客戶機,分別在三臺機器中安裝,以下安裝之前需安裝jdk環境

1)將jmeter安裝包放到服務器

如路徑:/app/jmeter

su root 命令:切換到root用戶進行如下操作

(新建個jmeter文件夾存放:jmeter包+新建文件夾error+新建文件夾report+新建文件夾script+新建文件jmter.log+自動生成的聚合報告report.jtl)

7dc06f56acd35cb4a593b8dfddfe4ff6.png

2)修改環境變量

編輯環境變量文件:vi /etc/profile

輸入并保存:

添加:export JMETER_HOME=/app/jmeter/apache-jmeter-3.3

export CLASSPATH中添加:

;$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH

export PATH中添加:

;$JMETER_HOME/bin:$PATH:$HOME/bin

使配置文件生效,必須執行不然修改沒生效:

source /etc/profile

(p.s.windows下的環境變量分隔符是分號、linux下的環境分隔符是冒號)

3)檢驗環境

jmeter -v

4c06c57ddc1f5c520061f3800419ffaa.png
出現這個則環境安裝成功

7722487566d5f65752226febec0b02a3.png
備注: jmeter -v命令后,如果出現如下權限問題,需要給jmeter文件夾授權

切換到jmeter目錄下,執行如下授權命令:

sudo chmod -R 777 jmeter

2.單臺機命令行運行jmeter測試腳本

為什么命令行執行:

1、圖形化界面消耗更多資源,CPU和內存

2、圖形化界面不支持大型的負載測試和性能測試

3、命令行測試支持持續集成,例如放到Jenkins這樣的CI工具上

開始執行...

1、修改配置

(更改jmeter包bin下的文件jmeter.properties)

jmeter.save.saveservice.output_format=xml

注釋調該行配置,啟用非GUI模式(即該句前加#)

2、運行

進入路徑,/app/jmeter執行命令,報告文件report.jtl會在當前運行的路徑下生成。

Window系統下命令行執行:

jmeter -n -t D:performancecue入口賦能平臺性能測試.jmx -l report.jtl -e -o D:performancereport

Linux系統下命令行執行:

jmeter -n -t /app/jmeter/script/入口賦能平臺性能測試腳本.jmx -l report.jtl -e -o /app/jmeter/report

參數解析:

-n:以非GUI形式運行Jmeter

-t:要運行的 JMeter 測試腳本文件

-l:輸出結果路徑,如果沒有該文件就自動創建,可以生成csv或者jtl文件

-e:在腳本運行結束后生成html報告

-o:保存html報告的地址,此文件必須不存在

-h:幫助,打印出有用的信息并退出

-r:遠程執行,啟動遠程服務

-H:代理主機,設置Jmeter使用的代理主機

-P:代理端口,設置Jmeter使用的代理主機的端口號

-J:傳遞動態參數搭配    duration 持續時間  threadnum 線程數  loopcount 循環次數  ramp  告知Jmeter要在多長時間內建立全部的線程,默認值為0

3.分布式執行jmeter測試腳本

三臺機器的jmeter文件夾都授權,不然會遇到上傳失敗等權限問題:

sudo chmod -R 777 jmeter

可參考:https://www.cnblogs.com/hoby2017/p/9519306.html

選擇一個調度機master:100.70.53.44,此機器只負責調度,并匯總輸錯報告,不執行腳本

選擇兩臺或多臺執行機slave:100.70.53.59、100.70.53.39

注意1):這三臺機器保證互通(即調度機master和另兩臺執行機slave互通即可,兩臺執行機之間可以不通):

登錄master機器分別執行命令檢測端口:telnet 100.70.53.59 8080

telnet 100.70.53.39 8080

2):所以需要配置端口并保證該端口沒有被其他應用占用(上面幾個機器中目前只發現8080端口互通),如果被占用,啟動jmeter server時會報錯

1、slave執行機配置端口

進入jmeter安裝路勁/bin,修改jmeter.properties文件

第一個:server_port=8080

第二個:server.rmi.localport=8080

2、slave執行機開啟jmeter-server

進入jmeter安裝路勁/bin,命令行執行:sh jmeter-server

3、master調度機上指定調度IP地址和端口

進入jmeter安裝路勁/bin,修改jmeter.properties文件

修改remote_hosts,回到master機器上,修改jmeter.properties文件中的remote_hosts,將slave機器的ip地址、端口添加上去,多個ip之間用逗號隔開。其中127.0.0.1表示master機器本身,為了獨立開master,可以將其去掉,這樣就不會在master上執行測試。

如:remote_hosts=100.70.53.59:8080,100.70.53.39:8080

ps:這部好像沒配置也沒影響,因為執行時的命令會指定路徑

4、分布式執行jmete測試腳本

把腳本上傳到master機器的scrip文件夾里。

同樣進入路徑,/app/jmeter執行命令,報告文件report.jtl會在當前運行的路徑下生成。

jmeter -n -t /app/jmeter/script/入口賦能平臺性能測試腳本.jmx -R

100.70.53.59:8080,100.70.53.39:8080 -l report.jtl -e -o /app/jmeter/report

單機或分布式執行都需注意:需要重新執行腳本時,需先把已生成的報告刪除,不然會出現沖突無法執行。

4.查看結果

1、查看生成的報告,report文件夾中的index.html可直接打開,即可查看執行結果

2、Jmeter.log是日志,可查看執行日志

3、Jmeter客戶端中的聚合報告等監聽器中瀏覽加載report.jtl文件,可界面中查看聚合報告等監聽結果

27a39d9a17bb7f9d01a40115d6ecd5dc.png
在jmeter工具中導入非GUI生成的report.jtl文件

5.性能測試報告編寫

參考:https://yq.aliyun.com/articles/35025

具體看自己存的文檔模板

6.出現問題解決方法

1)出現如下遠程運行后自動關閉,暫不確定什么原因,重啟遠程服務就好了

094230e9ef3022b18f9573fee51c15db.png

2)非GUI模式生成報告查看結果樹中沒有返回數據

linux執行jmeter腳本解決響應數據為空 - 瘋了的小蝸 - 博客園

3)啟動jmeter服務報如下錯誤,是端口被jmeter占用,之前啟動的進程沒全部kill

53afde56459e275665d3b6393ea43905.png
啟jmeter服務時報如上錯誤,啟動失敗

解決方法:

查詢端口被誰占用 :參考https://www.cnblogs.com/CEO-H/p/7794306.html

確認是被jmeter占用后,要獲取jmeter_pid如下命令:

ps -ef | grep "jmeter" | grep -v grep | awk '{print $2}'

參考https://blog.51cto.com/357712148/2068662

root用戶kill調全部進程

再重啟jmeter服務即可

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534906.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534906.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534906.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java mapreduce程序_簡單的java Hadoop MapReduce程序(計算平均成績)從打包到提交及運行...

[TOC]簡單的java Hadoop MapReduce程序(計算平均成績)從打包到提交及運行程序源碼import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache…

python刪除列表一段元素_Python基礎--list列表刪除元素

列表中刪除元素主要分為以下 3 種場景: 根據目標元素所在位置的索引進行刪除,可以使用 del 關鍵字或者 pop() 方法; 根據元素本身的值進行刪除,可使用列表(list類型)提供的 remove() 方法; 將列…

microbit編程_使用圖形化編程實現主控板與手機藍牙通訊(2019.3.25)

本文轉自:DFRobot創客社區原文鏈接:[Mind]使用圖形化編程實現主控板與手機藍牙通訊-Mind論壇-DF創客社區?mc.dfrobot.com.cn本帖最后由 Forgotten 于 2019-3-25 12:58 編輯做項目時我們經常會遇到藍牙的問題,例如使用appinventor制作一個app…

山海伏妖錄java_山海伏妖錄攻略大全 劇情結局加點妖獸大全

山海伏妖錄是一款非常經典的ARPG游戲,其中有許多的劇情,結局,妖獸以及加點方案。Remilia為大家帶來山海伏妖錄攻略大全,各種攻略都能在這里查到,助您暢玩山海伏妖錄!山海伏妖錄人物介紹配角介紹山海伏妖錄結…

spark環境搭建java_Spark MLlib 環境搭建超詳細教程

1、系統及環境版本系統:Win7 旗艦版 64位 sp1JDK:1.8.0Spark:2.3.2Hadoop:2.7Scala:2.11.8文章最后,有所有版本的下載鏈接,不用再去折騰版本之間的問題。2、環境下載2.1 Spark 下載spark2.2 had…

python自動發郵件附件_python自動發送帶附件的郵件(163郵箱,親測可用)

1.設置發送郵件郵箱的SMTP服務 https://www.360kuai.com/pc/927b9f8da3555bb70?cota4&kuai_so1&tj_urlxz&sign360_57c3bbd1&refer_sceneso_1 設置步驟時,記住設置的郵箱的獨立密碼,在以下腳本中能夠用到2. python腳本 import smtplib f…

java 導出bcp文件格式_使用BCP導出導入數據

bcp 實用工具可以在 Microsoft SQL Server 實例和用戶指定格式的數據文件間大容量復制數據。 使用 bcp 實用工具可以將大量新行導入 SQL Server 表,或將表數據導出到數據文件。 除非與 queryout 選項一起使用,否則使用該實用工具不需要了解 Transact-SQL…

learnpythonthehardway下載_LearnPythonTheHardWay學習筆記1:學習環境搭建

覺得學習這本書應該有筆記,所以就從這里開始吧。 學習資料: 1.《笨辦法學Python》(承德-至陽整理 2013/7/19) 2.《Learn Python The Hard Way,3rd Edition》 (Zed A. Shaw 2010) 一、準備學習環境 &#xf…

java ajax多文件上傳插件_ajaxFileUpload.js插件支持多文件上傳的方法

前提條件:ajaxFileUpload.js插件多文件上傳步驟:1、修改源碼,(源碼只支持單個文件的上傳)://修改前代碼-------//var oldElement jQuery(# fileElementId);//var newElement jQuery(oldElement).clone();//jQuery(oldElement).…

魚骨圖分析法實際案例_會用“魚骨圖”的項目經理無難題

項目經理在遇到一些瓶頸問題時,如何突破這些難題?答案就是魚骨圖!項目經理,廣州深圳PMP培訓,PMP認證考試培訓機構,圣略PMP培訓考試1、魚骨圖分析法介紹魚骨圖的由來及含義魚骨圖是由日本管理大師石川馨先生所發明出來的,故又名石川…

mysql5.6.msi 百度云_如何安裝Mysql數據庫類型msi(5.6)

首先讓大家看下我下載的數據庫有多少哈,還不包括我刪除的一些數據庫。光是8.0.17.0的數據庫我就下載了四五個,經常安裝數據報錯,我一直找不到是啥原因,所以我就把所有的全部給刪掉了,然后一遍一遍的安裝。現在想想還真…

pythonwhile循環怎么修改數據類型_python開發學習day05 (while循環; for循環; 數字類型操作)...

2020-06-05 目錄: 一、流程控制之while循環 1.1 什么是while循環? 1.2 為什么要用while循環? 1.3 怎么用while循環? 1.3.1 基本用法 1.3.2 死循環 1.3.3 while循環的結束 1.3.4 while循環的嵌套 1.3.5 whilecontinue 1.3.6 whilee…

mysql如何下載msi_2、Windows下MySQL數據庫下載與安裝詳細教程 MSI方式

做者:叁念mysql寫在前言:本文篇幅比較長,可是整體分為三大部分:下載部分、安裝部分、環境配置與測試部分 ;讀者能夠自行選擇閱讀web1、下載部分MySQL數據庫下載與安裝詳細教程sql1.如何下載MySQL?(本文章以5.6版本實際…

python詞云亂碼_python詞云庫wordCloud使用方法詳解(解決中文亂碼)

文章中的例子主要借鑒wordColud的examples,在文章對examples中的例子做了一些改動。 一、wordColud設計中文詞云亂碼 使用wordColud設計詞云的時候可能會產生亂碼問題,因為wordColud默認的字體不支持中文,所以我們只需要替換wordColud的默認字…

easyui java管理系統_EasyUI 后臺管理系統

ASP.NET MVC5+EF6+EasyUI 后臺管理系統(1)-前言與目錄(持續更新中...)開發工具:VS2015(2012以上)SQL2008R2以上數據庫 您可以有償獲取一份最新源碼聯系QQ:729994997 價格 666RMB 升級后界面效果如下: 任務調度…

linux同時安裝python2和python3_linux-Centos7安裝python3并與python2共存

1.查看是否已經安裝Python CentOS 7.2 默認安裝了python2.7.5 因為一些命令要用它比如yum 它使用的是python2.7.5。 使用 python -V 命令查看一下是否安裝Python 然后使用命令 which python 查看一下Python可執行文件的位置可見執行文件在/usr/bin/ 目錄下,切換到該…

opencv獲取模板旋轉角度_OpenCV入門之獲取圖像的旋轉角度

在我們的日常生活中,所碰到的圖像往往都有一定的傾斜。那么,如何用OpenCV來獲取圖像的旋轉角度呢? ??我們以下面的圖片為例,簡單介紹如何用OpenCV來獲取圖像的旋轉角度。可以看到,該圖像存在著許多噪聲,且…

后臺使用orm多還是直接sql_Django應用app創建及ORM

Django應用app創建及ORM一.重要知識點回顧:1. form表單提交數據的注意事項:1. 是form不是from,必須要有method和action (action用來指定你的數據提交到后臺哪個地方,method用來指定你提交數據的方式)2. 所有獲取用戶輸入的表單標簽要放在form表單里面&am…

java ruby腳本_Java 程序中直接執行 Ruby 腳本 (JRuby)

1.[代碼]MainClass.javaimport java.io.BufferedReader;import java.io.FileReader;import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class MainClass {public static void main(String[] args) throws Excep…

python win32gui安裝_python-無法安裝win32gui

我正在嘗試使用pip安裝win32gui,但出現錯誤: C:\Users\?????>pip install win32gui Collecting win32gui Using cached https://files.pythonhosted.org/packages/b8/75/7bed82934e51903f9d48b26b3996161bb2dce1731607b4bb7fd26003ed3e/win32gui-221.5.tar.…