【性能測試】Jmeter如何做一份測試報告(3)

?

本篇文章主要介紹Jmeter中下載插件(Jmeter ?Plugins)

如何使用監聽器插件,線程組插件,梯度壓測線程組

測試報告需要去關注的數據,怎么看測試報告圖表

目錄

一:插件下載

1:下載地址

2:插件下載

3:下載兩個插件

(1)監聽器插件

(2)線程組插件

4:下載成功的標志

二:梯度壓測線程組(Stepping?Thread?Group)

1:This? group? will? start

2:First? waitfor

3:Then? start

4:Next? add

5:thread? severy

6:using ramp-up

7:Then hold load for

8:Finally , stop

9:threads every

三:測試報告 重要數據

1:TPS吞吐量

2:響應時間

四:運行結果圖

1:啟動運行

2:退出階段

五:全局觀理解測試圖

六:出具測試報告

1:測試報告

2:測試報告分析

(1)響應時間

(2)錯誤率(可靠性)

(3)吞吐量


一:插件下載

1:下載地址

Install :: JMeter-Plugins.org? 附上下載鏈接地址

在壓測場景中,我們通常為?點?點的逐步增加線程數,因此需要安裝新的插件來?持線程數的配置。

通過插件管理?具下載其他插件:將該jar文件放到exe文件夾中后,此時我們的Jmeter工具就支持安裝插件了,重啟

2:插件下載

下載成功的標志,可以看到這個像蝴蝶一樣的圖標

3:下載兩個插件

(1)監聽器插件

點擊Available

(2)線程組插件

這里臨時修改了一下界面顏色,黑色太高冷了,阿華是屌絲

4:下載成功的標志

我們的監聽器中多了很多選項

我們的線程組中多了很多的選項

二:梯度壓測線程組(Stepping?Thread?Group)

重點理解圖上三個打圈的參數 這里指的是 這個線程組中有20個線程,等待0秒后開始壓力測試,一開始有0個線程,每3秒,增加5個線程進來,這5個線程需要在1s內啟動完畢,

以上圖數據為例

1:This? group? will? start

啟動多少個線程,同線程組中的線程數

2:First? waitfor

等待多少秒才開始壓測,?般默認為0

3:Then? start

?開始有多少個線程數,?般默認為0

4:Next? add

指的是下一次要額外增加的線程數量。例如,當前有 10 個線程在運行,設置 Next add 為 5,那么下一次線程數量會增加到 15 個。


5:thread? severy

一組線程(5個)執行完之后,等待3秒后再啟動下一組線程

指的是在一組線程執行完之后,等待多長時間再啟動下一組線程。也就是相鄰兩組線程啟動之間的時間間隔。


6:using ramp-up

這一組(5個)線程,在1秒內均勻的啟動

設置為 1秒,表示在 1 秒的時間內均勻地啟動指定數量的線程。例如,設置線程數為 10 個,ramp-up period 為 1?秒,那么 Jmeter 會在 1?秒內逐步啟動這 10 個線程,平均每秒啟動 10?個線程?

7:Then hold load for

20個線程啟動完成后,一直運行60s?

8:Finally , stop

9:threads every

解讀——每隔1s,結束5個線程,可以看到這邊是直降,與左邊是有區別的

三:測試報告 重要數據

1:TPS吞吐量

全稱Transactions per Second

2:響應時間

這里通常是一個折線圖?

逆天,有時候并發數可能太多,造成莫名其妙的報錯,那就在run一次

四:運行結果圖

1:啟動運行

活躍的線程數折線圖

響應時間——由低變高

吞吐量——整體比較平穩

2:退出階段

活躍的線程數,逐步下降

響應時間——中間部分比較高

吞吐量 老樣子 四平八穩

五:全局觀理解測試圖

對應過來就是下面這條藍色的線。

看第一個紅色方框——我們的響應時間降低,吞吐量就上升了

再看第二個紅色方框——我們的響應時間增大的時候,吞吐量就下降了。

這里其實可以得出——我們的響應時間和吞吐量呈現負相關的關系

這里細心的老鐵會發現最后結束的的時候,為什么響應時間反而激增了呢?這是因為我們有一個線程請求一直沒有得到響應,我們觀察聚合報告,列表頁,有一個最大的請求時間為59s,圖標中的綠色最高峰也可以看出來。

六:出具測試報告

1:測試報告

JMeter測試報告是?個全??詳細的?檔,它提供了關于測試執?結果的詳細信息,幫助??全?評估系統的性能并進?性能優化。這份測試報告也要交給我們的后端開發同學(如果有異常的話)

1:?成性能測試報告的命令

Jmeter -n -t 腳本?件 -l ?志?件 -e -o ?錄
-n : ?圖形化運?? ? ? ? ? ? ? ? ? (可以理解成后臺運行,有 點像Linux中的nohup操作!)
-t : 被運?的腳本
-l : 將運?信息寫??志?件,后綴為jtl的?志?件
-e : ?成測試報告
-o : 指定報告輸出?錄

舉例:

開始執行——等待大概1min左右結束

最后生成一個first.jtl日志文件,這個不是重點

重點去我們創建的first文件中查看測試報告

雙擊index.html

靜態數據,其實可以理解成我們的聚合報告

這里還有很多數據展示,在左邊的菜單欄展開。

總結:我們測試人員,做出來測試報告本質上是從宏觀角度去測試項目,去發現問題,但是不能排查問題,具體去解決問題還是我們后端開發人員去做。

2:測試報告分析

我們測試人員主要去干的事情還是要從這三方面進行分析

(1)響應時間

如果響應時間超過了請求,代表系統到了瓶頸,響應時間發生變化的原因——我們的系統不穩定啊,有時快有時慢,隨著并發壓力變大而慢慢變慢,響應時間變高

(2)錯誤率(可靠性)

高并發場景下,系統能否正常處理業務

要求:99.99%可靠? 99.9999%(也就是我們常說的4個9——10w次請求只能出現一次錯誤)

錯誤率高的原因:

①接口請求錯誤

②服務器無法繼續處理請求,達到了瓶頸

③后端系統限流

④熔斷?

解釋:防止因為某個服務的故障而整體崩潰。可以理解成及時止損——比如說給一個場景,電商用戶支付場景,忽然微信支付失敗率激增,超時嚴重,此時我們就先臨時把微信支付這個方式先熔斷掉,先保證我們整體的這個服務還是完好的(先保大頭)

⑤降級

主動關閉一些非核心功能,以確保核心功能正常運行。比如說,某次大型直播,那么直播間顯示的用戶名稱給成一個統一默認的名字

(3)吞吐量

①吞吐量越大,性能越好;吞吐量穩定或者變低,可能系統達到了性能瓶頸。

②吞吐量變化的規律

吞吐量波動很大的話,說明我們系統的性能不穩定;

吞吐量如果是慢慢變大,再趨于穩定,說明我們的并發量在上升,和并發量是強相關的

如果吞吐量慢慢變低,我們的并發量也在慢慢變低,說明我們的性能測試要結束了。

換一個角度,我們并發量在增,吞吐量變低,一般就是系統處理不過來這么多響應了,造成系統卡頓啊什么的。

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

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

相關文章

cocos creator使用mesh修改圖片為圓形,減少使用mask,j減少drawcall,優化性能

cocos creator版本2.4.11 一個mask占用drawcall 3個以上,針對游戲中技能圖標,cd,以及多玩家頭像,是有很大優化空間 1.上代碼,只適合單獨圖片的,不適合在圖集中的圖片 const { ccclass, property } cc._decorator;c…

AI重構SEO關鍵詞布局

內容概要 在搜索引擎優化(SEO)領域,AI技術的深度應用正在顛覆傳統關鍵詞布局邏輯。通過機器學習算法與語義分析模型,智能系統能夠實時解析海量搜索數據,構建動態詞庫并精準捕捉用戶意圖。相較于依賴人工經驗的關鍵詞篩…

泛微ecode的頁面開發發送請求參數攜帶集合

1.在開發過程中我們難免遇見會存在需要將集合傳遞到后端的情況,那么這里就有一些如下的注意事項,如以下代碼: // 新增action.boundasync addQuestion(formData) {var theList this.questionAnswerList;var questionAnswerListArray new Ar…

20250212:linux系統DNS解析卡頓5秒的bug

問題: 1:人臉離線識別記錄可以正常上傳云端 2:人臉在線識別請求卻一直超時 3:客戶使用在線網絡 思路:

道路運輸安全員考試:備考中的心理調適與策略

備考道路運輸安全員考試,心理調適同樣重要。考試壓力往往會影響考生的學習效率和考試發揮。? 首先,要正確認識考試壓力。適度的壓力可以激發學習動力,但過度的壓力則會適得其反。當感到壓力過大時,要學會自我調節。可以通過運動…

LLM - 白話RAG(Retrieval-Augmented Generation)

文章目錄 Pre一、大模型的"幻覺"之謎1.1 何為"幻覺"現象?1.2 專業場景的致命挑戰 二、RAG技術解析:給大模型裝上"知識外掛"2.1 核心原理:動態知識增強2.2 技術實現三部曲 三、RAG vs 微調:技術選型…

探索現代 C++:新特性、工程實踐與熱點趨勢

目錄 一、現代 C 的關鍵特性與熱點關聯 二、精簡代碼示例解析 三、工程實踐中的應用思考 四、總結與展望 近幾年,人工智能、邊緣計算與跨語言開發成為技術熱點,而 C 作為高性能系統編程的主力軍,也在不斷進化。從 C11 到 C20,…

《HTML + CSS + JS 打造炫酷輪播圖詳解》

《HTML CSS JS 打造炫酷輪播圖詳解》 一、項目概述 本次項目旨在使用 HTML、CSS 和 JavaScript 實現一個具有基本功能的輪播圖,包括圖片自動輪播、上一張 / 下一張按鈕切換、小圓點指示與切換等功能,以提升網頁的交互性和視覺吸引力。 二、實現步驟…

257. 二叉樹的所有路徑(遞歸+回溯)

257. 二叉樹的所有路徑 力扣題目鏈接(opens new window) 給定一個二叉樹,返回所有從根節點到葉子節點的路徑。 說明: 葉子節點是指沒有子節點的節點。 示例: 思路:在葉子節點收割結果,如果不是葉子節點,則依次處理左右子樹&a…

【架構差異】SpringとSpringBoot:Bean機制的深入剖析與自動配置原理

目錄標題 SpringBoot框架中Bean機制的深入剖析與自動配置原理摘要1. 引言2. SpringBoot與Spring的架構差異2.1 從Spring到SpringBoot的演進2.2 SpringBoot中的Bean容器體系 3. SpringBoot的自動配置機制3.1 SpringBootApplication解析3.2 自動配置原理深度解析3.2.1 自動配置類…

CSDN博客:Markdown編輯語法教程總結教程(中)

?個人主頁:折枝寄北的博客 Markdown編輯語法教程總結 前言1. 列表1.1 無序列表1.2 有序列表1.3 待辦事項列表1.4 自定義列表 2. 圖片2.1 直接插入圖片2.2 插入帶尺寸的圖片2.3 插入寬度確定,高度等比例的圖片2.4 插入高度確定寬度等比例的圖片2.5 插入居…

ChebyKAN0、ChebyKAN1 網絡閱讀

目錄 ChebyKAN0 Chebyshev Polynomial-Based Kolmogorov-Arnold Networks: An Efficient Architecture for Nonlinear Function Approximation 參考文獻 文章內容 文章詳細結構 5. Experiments and Results 5.1 Digit Classification on MNIST 5.2 Function Approximat…

RK3588部署YOLOv8(2):OpenCV和RGA實現模型前處理對比

目錄 前言 1. 結果對比 1.1 時間對比 1.2 CPU和NPU占用對比 2. RGA實現YOLO前處理 2.1 實現思路 2.2 處理類的聲明 2.3 處理類的實現 總結 前言 RK平臺上有RGA (Raster Graphic Acceleration Unit) 加速,使用RGA可以減少資源占用、加速圖片處理速度。因此…

破局者登場:中國首款AI原生IDE Trae深度解析--開啟人機協同編程新紀元

摘要 字節跳動于2025年3月3日正式發布中國首款AI原生集成開發環境Trae國內版,以動態協作、全場景AI賦能及本土化適配為核心優勢。Trae內置Doubao-1.5-pro與DeepSeek R1/V3雙引擎,支持基于自然語言生成端到端代碼框架、實時上下文感知與智能Bug修復&…

【PyCharm】Python和PyCharm的相互關系和使用聯動介紹

李升偉 整理 Python 是一種廣泛使用的編程語言,而 PyCharm 是 JetBrains 開發的專門用于 Python 開發的集成開發環境(IDE)。以下是它們的相互關系和使用聯動的介紹: 1. Python 和 PyCharm 的關系 Python:一種解釋型、…

SNIPAR:快速實現親緣個體的基因型分離與推斷

SNIPAR:快速實現親緣個體的基因型分離與推斷 近日,英國劍橋大學研究團隊在Nature Genetics上發表了最新研究成果——SNIPAR(SNP-based Inference of Pedigree relationship, Ancestry, and Recombination)。這一強大的工具可以幫助…

3.11記錄

leetcode刷題: 1. 334. 遞增的三元子序列 - 力扣(LeetCode) 方法一:使用貪心算法求解 class Solution(object):def increasingTriplet(self, nums):first nums[0]second float(inf)for i in nums:if i>second:return Truee…

阿里云操作系統控制臺評測:國產AI+運維 一站式運維管理平臺

阿里云操作系統控制臺評測:國產AI運維 一站式運維管理平臺 引言 隨著云計算技術的飛速發展,企業在云端的運維管理面臨更高的要求。阿里云操作系統控制臺作為一款集運維管理、智能助手和系統診斷等多功能于一體的工具,正逐步成為企業高效管理…

大語言模型學習--向量數據庫Milvus實踐

Milvus是目前比較流行的開源向量數據庫,其官網地址 Milvus 是什么? | Milvus 文檔 1.Milvus簡介 Milvus 是一種高性能、高擴展性的向量數據庫。Milvus 提供強大的數據建模功能,能夠將非結構化或多模式數據組織成結構化的 Collections。它支…

DeepSeek Kimi詳細生成PPT的步驟

以下是使用 DeepSeek 和 Kimi 協作生成 PPT 的詳細步驟,結合了兩者的優勢實現高效創作: 第一步:使用 DeepSeek 生成 PPT 大綱或內容 明確需求并輸入提示詞 在 DeepSeek 的對話界面中,輸入具體指令,要求生成 PPT 大綱或…