目錄

一、Jmeter簡介
1、什么是Jmeter
2、Jmeter高擴展性
3、Jmeter優點
4、Jmeter缺點
二、Jmeter安裝與配置
第一步:JMeter下載安裝
JMeter下載完成后,直接解壓apache-jmeter-5.4.1.rarJMeter下載地址:http://jmeter.apache.org
第二步:JDK安裝與配置
第三步:JMeter環境變數配置
第四步(可選):JMeter的JVM配置
三、Jmeter插件安裝
1、插件下載地址:http://jmeter-plugins.org/downloads/all/
2、將jmeter-plugins-manager.jar包放到apache-JMeter\lib\ext目錄下后,重啟JMeter
3、重啟JMeter后,打開插件管理器“Options(選項)->PluginsManager”
4、在插件管理器頁面,點“Available Plugins”標簽頁面,勾選所需要安裝的插件,點擊“Apply Changes and Restart JMeter”的按鈕安裝
四、常用的Jmeter插件
1、用于服務器性能監視:PerfMon Metrics Collector
2、用于建立壓力變化模型:Stepping Thread Group
3、用于展示回應時間RT曲線:Response Times Over Time
4、用于展示TPS曲線:Transactions per Second
五.JMeter 分布式部署前需要確認的事項如下:
1、生成密鑰
2、設定不啟動SSL修改jmeter.properties檔案下server.rmi.ssl.disable=true
3、設定代理機的IP與埠修改jmeter.properties檔案下Remote_hosts,server_port
4、代理機啟動bin目錄下執行jmeter-server.bat
5、主機遠程啟動Run->Remote,選擇代理機
六.Badboy錄制jmx腳本
1、Badboy介紹
2、Badboy錄制腳本
第一步:下載安裝 badboy
第二步:錄制腳本
第三步:回放腳本點擊“Play All”進行回歸放
第四步:匯出 jmx 格式腳本點擊File->Export to jmeter,即可匯出.jmx格式腳本
第五步: JMeter 圖形頁面打開 Badboy 的腳本同普通的JMeter腳本一樣打開“File->Open”
3、Badboy設定并發執行緒數、引數化、斷言
七、添加測驗計劃
2、User Defined Variables
2.1、添加用戶定義變數
2.2、TestPlan 中添加變數
3、 添加 HTTP Cookie Manager
3.1、設定自動管理Cookie,此步驟可選HTTP Cookie Manager:像瀏覽器一樣的存盤和發送Cookie,Cookie主要管理策略如下:
3.2、手動管理Cookie,此步驟可選
4、 添加 HTTP Header Manager
5、 添加 HTTP 請求默認值
6、 添加執行緒組 Thread Group
7、 添加錄制控制器
8、 代理服務器添加與設定
9、設定瀏覽器代理
10、 啟動代理錄制
11、Jmeter常用監控統計組件
一、Jmeter簡介
1、什么是Jmeter
- JMeter是Apache組織開發的開源測驗工具
- JMeter是基于Java撰寫,可集成到其他系統,可拓展各個功能插件
- JMeter可以用于對服務器、網路或物件模擬巨大的負載,來自不同壓力類別下測驗它們的強度和分析整體性能
- JMeter不僅用于對軟體做性能測驗,也能夠對應用程式做功能/回歸測驗,通過創建帶有斷言的腳本來驗證程式實際回傳結果與預期結果的對比
2、Jmeter高擴展性
- JMeter可鏈接的取樣器允許無限制的測驗能力
- JMeter各種負載統計表和可鏈接的計時器可供選擇
- JMeter資料分析和可視化插件提供了很好的可擴展性以及個性化
- JMeter具有提供動態輸入到測驗的功能(包括Javascript)
- JMeter支持腳本編程的取樣器(在1.9.2及以上版本支持BeanShell)
3、Jmeter優點
- JMeter的源代碼是開放性,可以進行二次開發
- 相較于自己撰寫框架與其他開源工具,JMeter有較為完善的UI界面,便于除錯
- JMeter部署安裝簡單,組件較小(LR部署復雜,且笨重)
- JMeter支持多平臺,可在Linux,Windows,Mac上運行
- JMeter最初的用途是用來測驗web應用,如今JMeter功能已得到擴展,支持絕大部分的程式進行測驗,例如各種型別的資料庫、FTP、HTTP、HTTPS或者其他的服務端應用等
4、Jmeter缺點
- JMeter無法驗證JS程式,無法驗證頁面,需要手工去做驗證
- JMeter斷言功能不夠強大,需要手工撰寫斷言腳本和人工確認
- JMeter自身不帶性能監控功能,不利于測驗結果分析,需要借助第三方平臺或組件,有時需要手工撰寫程式
- JMeter分析報表較少,不利于測驗結果分析,需要借助第三方組件
- JMeter支持的協議沒LoadRunner多
- JMeter沒有售后服務,同時也沒有LoadRunner易用(LR的UI操作頁面更容易引導用戶使用)
二、Jmeter安裝與配置
第一步:JMeter下載安裝
JMeter下載完成后,直接解壓apache-jmeter-5.4.1.rar
JMeter下載地址:http://jmeter.apache.org

第二步:JDK安裝與配置
JMeter4.0~5.4.1 版本,支持 JDK1.8 以上版本
JDK1.8下載地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
JDK環境變數配置:
1、JAVA_HOME:D:\Program Files (x86)\Java\jdk1.8.0_121(jdk安裝在哪個盤就寫哪個路徑)
2、Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3、Classpath:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
打開cmd,運行java –version,能得到下面的輸出就表示配置正確了

第三步:JMeter環境變數配置
1、 JMETER_HOME:D:\soft\apache-jmeter-5.4.1
2、 CLASSPATH:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
3、 Path:%JMETER_HOME%\bin
安裝程序到此結束
其他平臺安裝 Jmeter:
與Windows平臺方法相同,除了啟動檔案不同,例如linux平臺下為/bin/jmeter.sh
第四步(可選):JMeter的JVM配置
jmeter.bat/sh是JMeter的主運行程式,我們通過這個程式來啟動JMeter,這個檔案可以被編輯,JVM引數:(HEAP、PermSize,注: 堆記憶體與非堆記憶體 之和不要超過物理記憶體的 50%)
if not defined HEAP (
rem See the unix startup file for the rationale of the following parameters,
rem including some tuning recommendations
set HEAP=-Xms1024m -Xmx3072m
set NEW=-XX:NewSize=512m -XX:MaxNewSize=1024m
)
三、Jmeter插件安裝
1、插件下載地址:http://jmeter-plugins.org/downloads/all/

2、將jmeter-plugins-manager.jar包放到apache-JMeter\lib\ext目錄下后,重啟JMeter
3、重啟JMeter后,打開插件管理器“Options(選項)->PluginsManager”

4、在插件管理器頁面,點“Available Plugins”標簽頁面,勾選所需要安裝的插件,點擊“Apply Changes and Restart JMeter”的按鈕安裝

四、常用的Jmeter插件
1、用于服務器性能監視:PerfMon Metrics Collector

2、用于建立壓力變化模型:Stepping Thread Group

3、用于展示回應時間RT曲線:Response Times Over Time

4、用于展示TPS曲線:Transactions per Second

JMeter 可以單機部署,也支持分布式部署

五.JMeter 分布式部署前需要確認的事項如下:
- 確保所有防火墻都關閉
- 確保所有客戶端都在同一個局域網中
- 確保JMeter可以訪問測驗服務器
- 確保所有客戶端安裝JMeter的版本是一致,不同版本可能導致不能協同作業
JMeter 分布式部署步驟如下:
1、生成密鑰
執行create-rmi-keystore.bat,按提示生成密鑰,會在bin目錄下生成一個rmi_keystore.jks檔案,


2、設定不啟動SSL
修改jmeter.properties檔案下server.rmi.ssl.disable=true

3、設定代理機的IP與埠
修改jmeter.properties檔案下Remote_hosts,server_port

4、代理機啟動
bin目錄下執行jmeter-server.bat

5、主機遠程啟動
Run->Remote,選擇代理機

六.Badboy錄制jmx腳本
1、Badboy介紹
Badboy與LoadRunner、Jmeter一樣,可以進行引數化,可以設定斷言,也可以進行腳本除錯,并且可以設定執行緒數進行性能測驗,生成一個簡單的測驗報告,
- Badboy是開源的自動化測驗工具
- Badboy可以功能測驗,也可以性能測驗
- Badboy主要是模擬瀏覽器的操作,可以單獨進行一些簡單事務的性能測驗
- Badboy錄制與回放的功能,可以作為Jmeter腳本開發的輔助工具
2、Badboy錄制腳本
第一步:下載安裝 badboy
badboy下載地址:https://badboy.en.softonic.com/
下載完后,雙擊“BadboyInstaller-2.2.5.exe”檔案,一路點下一步,直到完成安裝
第二步:錄制腳本
打開已經安裝好的Badboy,錄制步驟:點擊錄制(record on/off)->輸入測驗地址,執行回車,錄制完成后,再次點(record on/off),結束錄制

腳本錄制完成如下圖所示

第三步:回放腳本
點擊“Play All”進行回歸放

第四步:匯出 jmx 格式腳本
點擊File->Export to jmeter,即可匯出.jmx格式腳本

第五步: JMeter 圖形頁面打開 Badboy 的腳本
同普通的JMeter腳本一樣打開“File->Open”

一般情況下,錄制完成腳本后,首先要做的就是洗掉不需要的資訊,在Badboy或JMeter中直接手工洗掉即可
3、Badboy設定并發執行緒數、引數化、斷言



JMeter代理錄制腳本的程序

七、添加測驗計劃
window下,點擊“jmeter.bat”,打開JMeter圖形頁面,默認生成一個新的測驗計劃(Test Plan),或者JMeter圖形頁面下,點擊“File->New”,新建一個測驗計劃,如下圖所示

2、User Defined Variables
2.1、添加用戶定義變數
(添加配置元件的User Defined Variables),此步驟可選
添加用戶定義變數:測驗計劃( Test Plan )右健 ->Add->Config Element->User Defined Variables
如下圖:訪問服務器地址、應用埠、傳輸協議、一些固定值的變數等

2.2、TestPlan 中添加變數
添加用戶定義變數(在測驗計劃中直接添加用戶定義變數),此步驟可選
添加用戶定義變數:點擊 “ 測驗計劃( Test Plan ) ”直接打開,如下圖:訪問服務器地址、應用埠、傳輸協議、一些固定值的變數等

3、 添加 HTTP Cookie Manager
3.1、設定自動管理Cookie,此步驟可選
HTTP Cookie Manager:像瀏覽器一樣的存盤和發送Cookie,Cookie主要管理策略如下:
- Standard/Standard-strict:HTTP Cookie Manager默認使用Standard,選擇Standard或Standard-strict,目的是盡可能兼容不同服務器
- RFC2109:是JMeter默認的Cookies協議
- RFC2965:是RFC2109標準升級版本
- Netscape:是最原始的Cookies協議,即也是RFC2109的基礎
- Ignore Cookies:是忽略所有Cookie

3.2、手動管理Cookie,此步驟可選
①設定JMeter自動保存到執行緒變數中
修改jmeter.properties檔案中的"CookieManager.save.cookies=true",注:JMeter2.3.2版本后不自動
儲存Cookie的值,jmeter.properties檔案在“JMETER_HOME\bin”目錄下:
# CookieManager behaviour - should Cookies be stored as variables?
# Default is false
#CookieManager.save.cookies=false
#修改為
CookieManager.save.cookies=true
②手動添加Cookie:添加Cookie到HTTP Cookie Manager,Cookie的值被會所有執行緒共享
瀏覽器中使用F12-開發者工具抓包獲取請求cookie名稱、cookie的Value值、域名、路徑


4、 添加 HTTP Header Manager
HTTP資訊頭管理,此步驟可選
HTTP Header Manager:HTTP訊息頭用來準確描述正在獲取的資源、服務器或者客戶端的行為,定義了HTTP事務中的具體操作引數,
常用的訊息頭如下:
- Accept:可接受的回應內容型別,例如:text/html,application/xhtml+xml,application/xml;
- Accept-Charset:可接受的字符集,例如:utf-8
- Accept-Encoding:可接受的回應內容的編碼方式,例如: gzip, deflate
- Accept-Language:可接受的回應內容語言串列,例如:en-US;zh-CN,zh;
- Cache-Control:用來指定當前的請求/回復中,是否使用快取機制,例如:max-age=0
- User-Agent:瀏覽器身份標識字串,例如:Chrome/89.0.4389.114

5、 添加 HTTP 請求默認值
添加HTTP默認請求,主要是設定HTTP請求使用默認值,此步驟可選,
添加 HTTP Request Defaults :測驗計劃( Test Plan )右健 ->Add->Config Element->HTTP Request Defaults

6、 添加執行緒組 Thread Group
錄制腳本程序中,Thread Group保留默認值即可,后期腳本優化開發程序中再根據需要修改各引數進行除錯,


7、 添加錄制控制器
添加錄制控制器Recording Controller,可選


8、 代理服務器添加與設定
添加HTTP代理服務器,與相關設定
添加代理服務器:右鍵Test Plan->Add->非測驗元件->HTTP(S) Test Script Recorder

HTTP代理服務器設定

9、設定瀏覽器代理
設定HTTP代理服務器的埠8888(默認8888),設定瀏覽器代理(地址:127.0.0.1,埠:8888,埠必須一致且不被占用)


10、 啟動代理錄制
點擊“start”啟動代理錄制,瀏覽器中輸入測驗系統地址開始錄制腳本,腳本錄制完成后,點擊“stop”停止腳本錄制,

注意:代理錄制完成后,記得取消瀏覽器代理,否則無法上網,
11、Jmeter常用監控統計組件
- 用于建立壓力變化模型:Stepping Thread Group
- 用于服務器性能監視:PerfMon Metrics Collector
- 用于展示回應時間RT曲線:Response Times Over Time
- 用于展示TPS曲線:Transactions per Second
感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
① 2000多本Python電子書(主流和經典的書籍應該都有了)
② Python標準庫資料(最全中文版)
③ 專案原始碼(四五十個有趣且經典的練手專案及原始碼)
④ Python基礎入門、爬蟲、web開發、大資料分析方面的視頻(適合小白學習)
⑤ Python學習路線圖(告別不入流的學習)
在我的QQ技術交流群里(技術交流和資源共享,廣告進來腿給你打斷)
可以自助拿走,群號913569736(備注“csdn000”)群里的免費資料都是筆者十多年測驗生涯的精華,還有同行大神一起交流技術哦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394242.html
標籤:其他
