Jmeter實戰教程入門講解

前言

通過前面對Jmeter元件的講解,大家應該都知道常用元件的作用和使用了。編寫Jmeter腳本前我們需要知道Jmeter元件的執行順序,可以看看我這篇性能測試學習之路(三)—初識Jmeter來了解下。下面我將以工作中的一個簡單的實例帶大家手把手寫一個Jmeter腳本。

場景及分析

場景:用戶登錄系統,選擇相應的模塊,然后去相應的菜單下新增一個單據。

預壓測接口:用戶登錄接口和單據保存接口,假設業務場景為一天2小時中,請求登錄接口為1000次,請求單據保存接口為3000次。

腳本分析:用戶登錄系統,我們需要根據登錄接口來獲取到token供后面接口使用,這時我們需要用到后置處理器;選擇相應的模塊和進入到相應的菜單下我們要看這兩個接口是不是有關于Pageid的關聯,這需要我們通過抓包工具抓到的接口來分析;保存單據就是一個單純的保存接口。按理說我們只需要寫四個接口,這四個接口的服務器地址是一樣的,所以我們可以添加一個HTTP請求默認值。又需要添加一個HTTP信息頭管理器來設置請求頭的一些信息。然后線程組設置成1循環1次添加查看結果數調試腳本是否能跑通。

性能場景分析:
登錄接口:2小時請求2000次
保存接口:2小時請求5000次
沒有明確的指標的話我們就是可以通過二八原則來計算出大概得TPS。那么什么是二八原則呢?
二八原則是指80%的請求在20%的時間內(時間按秒來計算)完成,計算公式: TPS=總請求數80%/(總時間20%)
那么通過計算可得出登錄接口的TPS=2000x0.8÷(2x60x60x0.2)=1.1,保存接口的TPS=5000x0.8÷(2x60x60x0.2)=2.8,TPS只要能達到我們計算的值就能滿足線上需要。

腳本編寫

經過抓包工具分析接口發現只需要寫登錄和保存接口即可,下面是這個腳本的調試時的樣子:
在這里插入圖片描述
重點來了!!!調試接口時設置線程數為1循環次數為1就行,編寫腳本時遇到的坑有登錄接口和保存接口的請求頭中的Content-Type不一樣所以我們在保存下又增加了一個HTTP信息頭管理器;保存接口傳參中有中文我們需要在內容編碼寫入UTF-8(不寫入的話會產生亂碼)。
在這里插入圖片描述

腳本調通了我們就完善一下腳本并設置好并發數來運行腳本,如下:
1、設置線程組中的線程數并勾選循環次數為永遠,勾選調度器設置好持續時間來讓線程持續運行。
在這里插入圖片描述
2.添加斷言并去掉查看結果數和調試取樣器(運行時會耗費機器資源)。添加聚合報告、TPS和響應時間監聽器來檢測結果。
在這里插入圖片描述
3.然后開始執行,等待運行完畢后查看監聽器中的結果。

聚合報告:主要關注95% 響應時間、異常和吞吐量指標
在這里插入圖片描述
Transactions per Second:主要關注TPS隨時間的變化趨勢
在這里插入圖片描述
Response Times Over Time:主要關注響應時間隨時間的變化趨勢
在這里插入圖片描述

這就是一次簡單的壓測,根據需求分析并寫出腳本,寫腳本時先用一個線程來調試成功,成功之后再設置相應的并發數來進行壓測。
在壓測中不僅需要看聚合報告、TPS和響應時間折線圖,也需要配合運維查看服務器CPU、內存、磁盤等利用率。一般來說服務器的這三個指標利用率在壓測過程中不能超過80% 。當壓測完成后,根據結果配合開發、運維進行性能調優,性能調優后續會籠統的講一下。

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

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

相關文章

Flutter 中的 TableCell 小部件:全面指南

Flutter 中的 TableCell 小部件:全面指南 Flutter 是一個功能強大的 UI 框架,由 Google 開發,允許開發者使用 Dart 語言構建跨平臺的移動、Web 和桌面應用。在 Flutter 的豐富組件庫中,TableCell 是一個用于創建表格單元格的組件…

企業打款驗證API在Java、Python、PHP中的使用教程

隨著企業銀行賬號數量的增加和銀行間的連接方式不斷豐富,企業在進行資金交易時需要確保所填寫的收款方賬戶信息的準確性和合法性,以避免資金損失和風險。然而,由于銀行數量眾多、地域分布廣泛,不同銀行間的賬戶驗證機制和信息交互…

vue前端實現頁面禁止縮放 前端適配問題處理 前端項目多端適配解決方案

在前端項目中,如果一個系統頁面可以縮放可能會導致多種異常情況,這些異常情況涉及到頁面布局、元素尺寸、事件觸發、響應式設計和用戶體驗等方面。 1.布局錯亂:頁面元素在縮放后可能會出現錯位、重疊或部分隱藏的情況,導致頁面布局混亂,影響用戶對頁面內容的理解和操作。這…

【云原生】kubernetes中secret原理詳解與應用實戰

?? 歡迎大家來到景天科技苑?? 🎈🎈 養成好習慣,先贊后看哦~🎈🎈 🏆 作者簡介:景天科技苑 🏆《頭銜》:大廠架構師,華為云開發者社區專家博主,…

讀AI未來進行式筆記02深度偽造

1. 計算機視覺 1.1. 在人的六感之中,視覺是最重要的 1.1.1. 人類只要看上一眼視頻,就能瞬間在腦海中抓取并消化內容和信息 1.1.2. 人類能夠對事物進行廣義的理解和抽象的認知,即使同一物體在不同的角度…

聲量2024 | 內容創作者,該怎樣保護你的知識產權

點擊文末“閱讀原文”即可參與節目互動 剪輯、音頻 / 卷圈 運營 / SandLiu 卷圈 監制 / 姝琦 封面 / 姝琦Midjourney 產品統籌 / bobo 場地支持 / 阿那亞 聯合制作 / 聲量The Power of Voice 特別鳴謝 / 深夜談談播客網絡 本期節目錄制于第二屆「聲量The Power of Voic…

opencascade 布爾運算筆記

BRepAlgoAPI_Common 對兩個topods求解 沒有公共部分也返回結果了 我想要的結果是沒有公共部分返回false 在 Open CASCADE 中使用 BRepAlgoAPI_Common 進行布爾操作時,即使兩個 TopoDS_Shape 沒有公共部分,操作仍會返回一個結果。為了判斷兩個形狀是否確…

vue3封裝echarts組件---通俗易懂

1、封裝的原因 如果在vue項目中有多個組件或者同個組件多出地方需要不同的圖表,因此自己封裝一個方便多次復用的Mycharts圖表組件。 2、具體步驟: 2.1 安裝echarts pnpm i echarts --save 2.2 新建MyCharts組件 : ~components/echarts/MyCharts.vu…

x264 參考幀管理原理:i_poc 變量

POC H.264中的POC(Picture Order Count)用于表示解碼幀的顯示順序。當視頻碼流中存在B幀時,解碼順序和顯示順序可能不一致,因此需要根據POC來重新排列視頻幀的顯示順序,以避免跳幀或畫面不連貫的問題。 具體來說,POC的作用包括: 重排顯示順序:POC確保即使在存在B幀的情…

基于javacv ffmpeg 使用原生ffmpeg命令

基于javacv ffmpeg 使用原生ffmpeg命令 1. ffmpeg2. ffprobe 相關閱讀: javacv ffmpeg使用筆記 測試過程中,發現ffmpeg-6.0-1.5.9-linux-x86_64.jar 存在問題(ffmpeg原生命令執行失敗),降級到ffmpeg-5.1.2-1.5.8-linux…

RPG Maker MV 踩坑十一 精靈及背景繪制問題

精靈繪制問題 RPG Maker MV戰斗問題入場飛身戰斗背景繪制精靈集及精靈 RPG Maker MV戰斗問題 在RMMV中戰斗是在場景中調用戰斗管理器,通過管理器去操作角色對象行動及精靈的繪制的。 入場飛身 在其中就發現一個問題加載圖片進場時,會偏高,…

Python編程學習第一篇——Python零基礎快速入門(五)—元組(Tuple)操作

Python元組是一種不可變的有序集合,可以存儲多個不同類型的數據。元組使用小括號來表示,其中的元素用逗號分隔開。與列表不同,元組的元素不能被修改、刪除或添加。它的一些常規操作包括元組的創建、訪問、添加、修改、刪除、運算等等&#xf…

電力電子功率模塊在工程應用中測溫NTC的使用

電力電子功率模塊在工程應用中測溫NTC的使用 1.概述2.什么是NTC3.模塊內部NTC3.1 絕緣隔離措施3.2 NTC熱量考慮 4.使用模擬方法測量NTC溫度4.1 分壓電阻大小 5.使用數字方法測量NTC溫度 1.概述 最近做項目的時候突然被問到一個問題。做實驗測溫用的NTC到底怎么用?為…

【Python】超時請求或計算的處理

超時機制 一般應用于處理阻塞問題 場景: 復雜度較大的計算(解析)某個數值、加解密計算等請求中遇到阻塞,避免長時間等待網絡波動,避免長時間請求,浪費時間 1. requests 請求超時機制 reqeusts 依賴中的…

[大師C語言(第十九篇)]C語言函數式編程技術詳解

引言 函數式編程(Functional Programming,FP)是一種編程范式,強調通過使用純函數和不可變數據來編寫代碼。這種范式具有許多優點,如易于測試、可維護性高、并發友好等。盡管C語言被認為是一種過程式編程語言&#xff…

JAVA設計模式-策略模式及在Springboot2.X中寫法

JAVA設計模式-策略模式及在Springboot2.X中寫法 一、經典的策略模式寫法二、Springboot2.X中策略模式寫法 策略模式的定義:策略模式是一種行為型設計模式,定義了一系列算法,并將每個算法封裝起來,使它們可以互相替換 策略模式:在策略模式(Str…

算法 java 排序和查找

排序和查找 冒泡排序(穩定)選擇排序(不穩定)插入排序(穩定)希爾排序(不穩定)歸并排序(穩定)快速排序(不穩定)堆排序計數排序桶排序基數…

YOLOv8+PyQt5海洋船只檢測(可以重新訓練,yolov8模型,從圖像、視頻和攝像頭三種路徑識別檢測)

1.效果視頻:海洋船只檢測yoloV8檢測(https://mbd.pub/o/bread/mbd-ZpaYk55r)_嗶哩嗶哩_bilibili資源包含可視化的海洋船只檢測系統,可對于高空拍攝到的海洋圖片進行輪船檢測,基于最新的YOLOv8訓練的海洋船只檢測模型&a…

多線程知識-11

Runnable 和 Thread 用哪個好 使用Runnable接口的好處是: 避免了單繼承的限制:當你的類已經繼承了另一個類時,你仍然可以實現Runnable接口來創建線程。提高代碼的復用性:你可以將Runnable對象傳遞給多個線程來執行,從…

C++設計模式-策略模式,AI角色動態選擇行為

運行在VS2022,x86,Debug下。 27. 策略模式 策略模式讓算法的選擇與使用獨立開來,使得代碼更靈活、可擴展和易維護。應用:如在游戲開發中,AI角色需要根據環境和條件做出不同的行為,如尋路、攻擊、躲避等。可…