實用性能測試工具介紹

本文主要介紹一下常用的兩款測試工具:

  1. 性能測試壓測工具-Jmeter
  2. 性能測試監控工具-JProfiler

1. 性能測試壓測工具-Jmeter

1.2 Jmeter簡介

JMeter,一個100%的純Java桌面應用,由Apache組織的開放源代碼項目,它是功能和性能測試的工具。具有高可擴展性、支持Web(HTTP/HTTPS)SOAPFTPJAVA等多種協議的特點。

Jmeter官網: http://jmeter.apache.org/

目前最新版本的jmeter3.3版本,要求jdk版本爲1.8

下載地址:http://jmeter.apache.org/download_jmeter.cgi

Jdk版本爲1.7的,可以下載3.1版本,功能基本一致

下載地址:https://archive.apache.org/dist/jmeter/binaries/

1.3 Jmeter安裝

下載Jmeter後,直接解壓,在bin目錄下,雙擊jmeter.bat

1.4 使用說明

1.4.1 創建一個線程組

添加線程組並設置參數大小:測試計劃->添加->Threads ->線程組

1.4.2 創建一個Http請求(GET

添加HTTP請求:線程組下添加->Sampler ->HTTP請求

注意:同一個線程組內的多個請求是順序執行的,不同線程組的請求的並行執行的

1.4.3 創建一個Http請求(POST

添加HTTP請求:線程組下添加->Sampler ->HTTP請求

1.4.4 給請求添加header

添加響應斷言:HTTP請求->添加->配置元件->HTTP信息頭管理器

1.4.5 給請求添加一個斷言

添加響應斷言:HTTP請求->添加->斷言 ->響應斷言

1.4.6 查看請求返回結果

添加查看結果樹: HTTP請求-監聽器-查看結果樹

1.4.7 腳本參數化設置-內置函數

爲了使測試數據動態化,更真實的模擬用戶請求,需要對接口數據做參數化

Jmeter的函數助手裏,有全部的函數以及相關文檔

常用的內置函數:

  •   隨機數:__Random
  •   隨機字符串: __RandomString
  •   時間戳:__time
  •   UUID__UUID

1.4.8 腳本參數化設置-CSV Data Set Config

添加CSV Data Set Config :線程組->添加->配置元件 -> CSV Data Set Config

1.4.9 參數化引用

HTTP請求裏,把需要做參數化的參數值,用${參數名}代替

1.4.10 Jmeter關聯-數據提取

工作中經常有這種測試需求:接口B的參數來源於接口A的返回值,這個時候如果要測試接口B,就需要先把A接口的數據提取出來

步驟:

1、先添加接口A的請求,A請求的返回值爲{"skuId":123,"price":93.0,"stock":1977,"opt":abc,"result":true}

2、在A請求內部創建一個後置處理器-JSON Extractor,按照下圖填寫

解釋

Variable name:定義一個變量,存儲提取的數據

JSON Path expressionsjson表達式,用$代表整個json數據,$.stock標識json字符串中keystock的值

Match Number:匹配數字,根據json表達式匹配出的數據可能有多個,這個數字表示獲取第幾個,如1代表匹配出的第一個數據;0代表隨機一個數據

3、添加請求B,在B請求的url中,直接用${參數名}來代表JSON提取器中定義的參數,如

1.4.11 Jmeter測試結果分析-聚合報告

1.4.12 Jmeter命令行模式

GUI模式下進行壓測,Jmeter本身的性能開銷非常大,因此官方建議真正壓測時在非GUI模式下進行

所以一般選擇在Linux下,或windows命令行下執行壓測

 

GUI模式下,可以先把修改下jmeterbin目錄下jmeter.properties

summariser.interval=10(實時展示性能數據的間隔時間s

 

GUI模式下先把jmx腳本創建並調試好,然後在命令行下執行命令:

jmeter -n –t test.jmx -l result.jtl

-n: 命令行模式

-tjmx腳本路徑

-l:測試結果文件路徑

命令行模式下結果分析:

1、通過查看控制檯日誌

2、使用聚合報告打開測試生成的jtl文件,也可以獲取到性能數據

3、根據jtl文件生成HTML報表

使用報表前先修改Jmeterbin目錄下reportgenerator.properties

修改jmeter.reportgenerator.overall_granularity=1000(報表統計的間隔時間)

 

執行以下命令後,就會在當前目錄下的output文件夾中生產html報表

jmeter –g test.jtl –o ./output

下載到本地用瀏覽器打開即可查看報告

TPS趨勢圖:

平均響應時間趨勢圖:

2. 性能監控分析工具-Jprofiler

2.1 Jprofiler簡介

JProfiler是一個商業授權的Java剖析工具,由EJ技術有限公司,針對Java EEJava SE應用程序開發的。

Jprofiler主要有兩部分組成:客戶端和Server

 

注意:Jprofiler server端啓動後對Java程序的性能影響較大,所以不能作爲常規性的監控工具,只能在排查問題時使用

2.2 Jprofiler安裝和配置

2.2.1 服務端安裝配置

1.安裝

在服務器上安裝JProfiler9.1.1 server

rmpivh jprofiler_linux_9_1_1.rpm

安裝成功後,jprofiler默認安裝在了/opt/jprofiler9目錄下

 

2.配置

tomcatcatalina.sh,把以下參數添加到JVM參數配置的地方,如

JAVA_OPTS="$JAVA_OPTS -agentpath:/opt/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8849,nowait"

配置好後重啓tomcat

2.2.2 客戶端安裝配置

1. windows下安裝好jprofiler_windows_9_1_1.exe

2. 啓動Jprofiler,按照以下步驟操作

2.3 Jprofiler運行界面和常用功能

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章