性能測試工具—jmeter的基礎使用

1.Jmeter三個重要組件

1.1線程組的介紹:?

特點:

  1. 模擬用戶,支持多用戶操作
  2. 多個線程組可以串行執行,也可以并行執行

線程組的分類:

  1. setup線程組:前置處理,初始化
  2. 普通線程組:編寫腳本
  3. teardown線程組:后置處理,環境恢復等

線程組的屬性:?

參數介紹:

1.2HTTP請求:

參數介紹:

作用:向服務器發送http及https請求

參數:

1.3查看結果樹:

案例1: 查看結果樹中的HTTP請求中,有多個子的HTTP請求

2.Jmeter參數化

2.1本質:

使用參數的方式來替代腳本中的固定的測試數據

2.2實現方式:

  1. 定義變量(最基礎)
  2. 文件定義的方式(所有測試數據都是固定的情況下)
  3. 數據庫的方式(靈活,業務測試常用)
  4. 函數的方式(靈活,業務測試常用)

2.3用戶定義的變量

2.4用戶參數:

2.5CSV數據文件設置:

2.6函數:

3.Jmeter斷言:

3.1定義:

檢查實際的返回結果是否與預期結果保持一致

自動校驗機制:自動判斷響應狀態碼(2xx:成功,4xx/5xx:失敗)

3.2分類:

  1. 響應斷言:對任意格式的響應數據進行斷言
  2. json斷言:對json格式的響應數據進行斷言
  3. 持續時間斷言:對響應時間進行斷言

3.3響應斷言:

參數:

3.4JSON斷言

參數:

3.5斷言持續時間:

4.Jmeter關聯:

4.1定義:

請求之間有依賴關系,一個請求的響應數據作為另一個的請求參數來傳遞

4.2分類:

  1. 正則表達式提取器:提取任意格式的響應數據
  2. Xpath提取器:提取HTML格式的響應數據
  3. JSON提取器: 提取JSON格式的響應數據

4.3正則表達式介紹:

正則表達式:就是一個公式,或者說一套規則,使用這套規則可以從任意字符串中提取出想要的數據內容

結論:

通過一個正則表達式可以提取出多組數據,每組數據設置對應的左邊界和右邊界即可

每一組數據都可以有一個或者多個值

正則表達式提取器:

4.4xpath提取器

參數:

4.5json提取器:

參數:

JMeter屬性:

5.自動錄制腳本

原理:

5.1jmeter腳本錄制步驟

1.添加HTTP代理服務器,并進行配置

?加HTTP代理服務器:測試計劃(右鍵)->非測試元件->HTTP代理服務器

?配置代理服務器的參數

2.開啟windows操作系統的瀏覽器代理

3. 啟動代理服務器,開始錄制

4. 在瀏覽器頁面中進行操作,成功后,就能在JMeter當中看到抓取到的接口請求了。

5.2當使用代理的過程中,發現抓不到包,幾個可能的情況:

  1. 過濾規則設置有問題
  2. 重啟Jmeter代理服務器或者重啟Jmeter
  3. 換瀏覽器來使用(Chrome、IE)
  4. 檢查PC機中的代理設置是否處于可用狀態
  5. 拔掉網線,抓包

6.邏輯控制器:

6.1如果(if)控制器:

6.2循環控制器:

6.3ForEach控制器:

7.定時器:

7.1同步定時器:

7.1.1使用同步定時器的操作步驟?

1.添加線程組,設置線程數為n

2.添加HTTP請求

3.添加同步定時器

?設置并發線程數:同時發送請求的虛擬用戶數

?設置超時時間:

?建議設置:不設置的話,若沒有達到設置的線程數會一直死等

?不能設置太小:等待時間后還沒達到設置的線程數,會釋放已到達的線程

4.添加查看結果樹

5.添加監聽器-聚合報告

7.2常數吞吐量定時器:

案例:

(1)一個用戶以?20QPS (20 次/s) 的頻率訪問百度首頁,持續一段時間,統計運行情況

案例:1、模擬100個用戶同時訪問百度首頁,統計各種高并發情況下運行情況(2)2個用戶針對 (服務器的QPS要求:20QPS (20 次/s)) 的頻率訪問百度首頁,持續一段時間,統 計運行情況

7.3固定定時器:

案例:

(1)IHRM系統登錄錯誤3次后,鎖定1分鐘,等待1分鐘后重新輸入正確的用戶名密碼登錄成功

請求方法:POST

請求URL:http://ihrm-test.itheima.net/api/sys/login

請求頭:Content-Type: application/json;charset=UTF-8

請求體:{"mobile":"13800000002","password":"123456"}

步驟:

添加線程組

添加HTTP請求1 - 錯誤1次

添加HTTP請求2 - 錯誤2次

添加HTTP請求3 - 錯誤3次

添加HTTP請求4 - 正確用戶名密碼

在HTTP請求4下,添加固定定時器

添加查看結果樹

8.jmeter分布式:

8.1應用場景:

當單個測試機無法模擬用戶要求的業務場景時,可以使用多臺測試機進行模擬,就是Jmeter的分布式測試 .

8.2原理:

8.3分布式相關注意事項:

  1. 關閉防火墻
  2. 所有的控制機、代理機、服務器都在同一個網絡上
  3. 所有機器的Jmeter和JAVA版本必須一致
  4. 關閉RMI SSL開關

8.4分布式配置與運行:

9.jmeter報告:

9.1聚合報告:

補充:

正常情況下,響應時間的結果取平均值

當響應時間最大值特別高(超出平均水平特別多),導致平均值不能代表正常/大部分水平時,可以使用百分比時間

9.2HMTL報告:

10.并發數計算:

10.1普通方法:?

并發tps = 總請求數/總時間

只能滿足最基本的要求,但是不能很好覆蓋系統正常的使用情況

10.2二八原則

并發tps = 總請求數?* 80% / 總時間?* 20%

滿足系統絕大多數情況下的應用場景的需要

根據業務運營數據的統計計算(通常用來做穩定性測試

并發TPS = 有效請求數?* 80% / 有效時間?* 20%

當運營數據統計越精確時,計算出的并發TPS與實際的越接近

根據用戶峰值業務操作來計算(通常用來做壓力測試

并發TPS = 峰值請求數?/ 峰值時間?* 系數

滿足峰值請求時間段內的負載量,系數取決于項目組對于未來業務量的評估

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

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

相關文章

springboot+vue+mybatis物業管理系統+PPT+論文+講解+售后

快速發展的社會中,人們的生活水平都在提高,生活節奏也在逐漸加快。為了節省時間和提高工作效率,越來越多的人選擇利用互聯網進行線上打理各種事務,通過線上物業管理系統也就相繼涌現。與此同時,人們開始接受方便的生活…

Swift頁面的跳轉和返回

之前一直使用的OC,現在也有不少人使用Swift,我也嘗試一下,寫一個簡單又基礎的功能:頁面的跳轉和返回。這里將顯示幾個swift文件的代碼。 文件Common.swift的代碼: // // Common.swift // MySwiftProject // // Cre…

怎樣讓貓給啥吃啥?生骨肉凍干拌糧哪有貓咪不吃的!

隨著科學養貓的普及,生骨肉凍干喂養越來越受歡迎,生骨肉凍干喂養對貓的好處很多,它符合貓咪的天性,可以提供全面的營養,保持牙齒和牙齦的健康,還有助于維持健康的消化系統。然而,許多貓主人在選…

考研操作系統-1.計算機系統概述

目錄 操作系統功能 操作系統的發展與分類 操作系統的運行環境 操作系統的體系結構 王道考研操作系統-1.計算機系統概述 操作系統 是指控制和管理整個計算機系統的硬件和軟件資源,合理地組織調度計算機的工作和資源的分配;提供給用戶和軟件方便的接…

PHP類和對象概念及用法

類和對象的關系 可以將類看成為一件模具,倒入不同的材料(屬性和方法),這些材料用于構建獨特的對象 類的基本組成部分 屬性:類中的變量,用于儲存數據 方法:類中的函數,用于操作和訪問類的屬性 類及其屬性和方法的創建…

GDPU 競賽技能實踐 天碼行空 期末小測

1. 除法(原題) 👨?🏫 實驗二:1.簡單枚舉 輸入正整數n,按從小到大的順序輸出所有形如abcde/fghij n的表達式,其中a~j恰好為數字0~9的一個排列(可以有前導0&a…

復雜json解析(其中有一個key的value是json格式的字符串)

app上報的參數如下: {"clientId": "8517895440514039afcf6d3e5d7832ae","dua": "SNDOCKCJPH90_GA&VN900042418&BN0&VCXiaomi&MOM2012K11AC&RL1080_2239&CHIDunknown_unknown&LCID&RV&OSAndroid13&…

邦注科技 即熱式節能模溫機的原理及應用介紹

模溫機是一種用于控制模具溫度的設備,它在各種工業領域中發揮著重要作用,特別是在塑料加工行業中。以下是關于模溫機的原理及應用的詳細介紹: 原理 模溫機的工作原理主要是通過加熱和冷卻功能,維持模具溫度在一個恒定的范圍內。…

Hadoop 3.4.0 項目實戰

1環境基于 上一篇搭建 高可用分布式集群 2 官方提供MapReduce程序 #評估圓周率 cd /data/hadoop/share/hadoop/mapreduce/ hadoop jar hadoop-mapreduce-examples-3.4.0.jar pi 2 6 3 實例項目分析1 #預分析的文件如,如單詞統計 # #上傳文件到hdfs hdfs …

SOLIDWORKS 2024云服務新功能

一、簡單的分享一下,在線觀看,輕松標記 在達索系統SOLIDWORKS 2024云服務中,您只需在達索系統SOLIDWORKS中點擊按鈕,就可以將當前的設計分享給其他人,無論是客戶、供應商還是團隊內部成員。共享的用戶只要打開瀏覽器里…

Python中的exec()函數,動態執行代碼的利器

簡介 在Python編程中,exec()函數是一個強大的工具,它允許你執行存儲在字符串或對象中的Python代碼。這種動態執行代碼的能力為腳本編寫、自動化測試、以及快速原型開發提供了極大的便利。 exec()函數的基本用法 exec()函數可以執行作為字符串輸入的Py…

一本專業130+總分400+上海交通大學819考研經驗上交電子信息與通信工程上岸,真題,大綱,參考書。

今年專業課819信號系統與信號處理130,總分400,復試表現中規中矩(初試分數查到才開始復習復試,希望大家汲取教訓,初試考完就可以錄取開始準備復試),交大初試比重很高,良心學校&#x…

LeetCode58.最后一個單詞的長度

題目鏈接: 58. 最后一個單詞的長度 - 力扣(LeetCode) 分析:普通的模擬題,只要有基本的算法思想就可以掌握。 算法思路:要統計最后一個單詞的長度,所以我們只要找到最后一個單詞出現的起始和終…

ASP.NET在線畢業論文提交系統的設計與實現

摘 要 本設計就很好的解決了上面的問題,它不但能實現畢業生論文的在線提交;還能給教師一定的權限,以在線的方式對自己指導的學生的論文進行審核;并且管理員還可以方便的將每個學生的論文信息按統一的論文排版本格式導出成word文…

高并發-線程池面試

文章目錄 高并發-線程池2024心得好的博客必會面試題為什么使用線程池線程池的實現原理線程池的拒絕策略阻塞隊列已滿,在提交任務會發生什么問題threadlocal原理和使用多線程配置 高并發-線程池2024 心得 面試都是圍繞著三高展開,高并發,高可…

洗衣洗鞋店做小程序有什么優勢?

互聯網洗衣洗鞋小程序閃亮登場,想知道這款小程序有何魅力嗎? 如今,眾多商家紛紛推出預約上門洗鞋服務,💁?♀?并傾力打造洗鞋小程序,旨在拓展線上銷售渠道。🌟那么,這款洗鞋小程序究…

Oracle數據庫的CURRENT SCN

數據庫的CURRENT SCN是Oracle當前最大的SCN,可以通過多種方法獲取該SCN: 1、直接從內存中獲取。由于當前最大SCN存儲在fixed sga中,因此可以通過Oracle debug工具DUMP kcsgscn結構體獲取內存中的最大SCN。在下面的程序中,BA371為1…

網絡配置的加密存儲

隨著數據泄露事件的增加,擾亂了公司的正常工作周期,企業遭受了損失。事實上,數據泄露可以通過存儲加密來控制,存儲加密是防止黑客對網絡數據庫造成嚴重破壞的最有效方法之一。在網絡配置管理器中,存儲加密可用于存儲設…

SpringBoot解析MyBatis預編譯SQL

pom.xml <profile><!-- 開發環境 --><id>dev</id><activation><!-- 默認激活 --><activeByDefault>true</activeByDefault></activation><properties><spring.profiles.active>dev</spring.profiles.ac…

Unity 模擬放大鏡局部放大UI 效果實現

UI 放大實現 RectTransformUtility.ScreenPointToLocalPointInRectangle(rectScale, eventData.position, eventData.pressEventCamera, out localPos); 使用IPointerDownHandler 獲取鼠標點擊時的有效負載&#xff0c;并將鼠標坐標轉成對應的UI 坐標&#xff0c;rectScale 為…