jmeter 按流量階梯式壓測數據庫


當前版本:

  • jmeter 5.6.3
  • mysql?5.7.39

簡介

? ? JMeter 通過 BZM - Arrivals Thread Group 來模擬并發到達的用戶流量、按時間加壓,可以有效地幫助測試人員評估系統在高壓力和高并發情況下的性能表現。

????????

文章目錄如下

1. 下載插件

2. 界面說明

3. 測試步驟

?3.1. 添加壓測線程組

3.2. 設置JDBC配置

3.3. 構造簡單業務

3.4. 配置監聽器

3.5. 運行測試

4. 按秒壓測


????????

1. 下載插件

地址如下(下載2個包,一個用于階梯式壓測,一個用于增加性能監聽器)

Download :: JMeter-Plugins.org

注意:JMeter版本5.2.0以上)

?

將下載的兩個zip包解壓后,找到 JMeterPlugins-Standard.jar 和 JMeterPlugins-Extras.jar,放到?jmeter\lib\ext\ 下,重啟 jmeter 生效。

????????

2. 界面說明

添加階梯式壓測線程組

  • 右擊測試計劃 → 添加 → 線程(用戶)?→?bzm - Arrivals Thread Group

?

????????

界面說明

?

  • Target Rate:目標速率 (請求數,可以理解為最大吞吐量)。如果選擇下面單位為分鐘,那么這里的 10000 就是每分鐘吞吐量達到10000;如果選擇秒,則表示每秒達到10000。
  • Ramp Up Time:設置多久達到最大請求數
  • Ramp Up Steps Count:設置階梯次數(默認0,直線上升)
  • Hold Target Rate Time:達到最大請求數后,設置繼續運行時間
  • Time Unit:選擇時間單位(minutes:分,second:秒)
  • Thread lterations Limit:線程迭代限制(每個線程執行測試計劃的次數)
  • Log Thread Status into File:將線程狀態記錄到文件
  • Concurrency Limit:并發限制

????????

3. 測試步驟

jmeter 通過如下組件來構造高并發:

bzm - Arrivals Thread Group     # 模擬吞吐量階梯式壓測
JDBC Connection Configuration   # 配置數據庫連接信息
JDBC Request  # 構造業務

通過如下監聽器來查看性能指標

聚合報告    # 查看整體性能指標
jp@gc - Response Times Over Time  # 查看響應時間走勢圖表
jp@gc - Transactions per Second   # 查看吞吐量走勢圖表
jp@gc - Active Threads Over Time  # 查看線程數走勢

?????????

?3.1. 添加壓測線程組

  • 右擊測試計劃 → 添加 → 線程(用戶)?→?bzm - Arrivals Thread Group

需求:吞吐量在3分鐘逐漸遞增(共遞增5次),最終吞吐量達到10000/分,達到1w后繼續運行1分鐘。配置如下:

?

????????

3.2. 設置JDBC配置

  • 右擊測試計劃 → 添加 → 配置元件 →?JDBC Connection Configuration

?

?

"""MySQL"""
URL:jdbc:mysql://[IP]:[端口]/[數庫名]  # jdbc:mysql://localhost:3306/mysql
Driver:com.mysql.jdbc.Driver
"""Oracle"""
URL:jdbc:oracle:thin:@[IP]:[端口]:[數庫名]  #jdbc:oracle:thin:@localhost:1521:orcl
Driver:oracle.jdbc.OracleDriver
"""PostgreSQL"""
URL:jdbc:postgresql://[IP]:[端口]/[數庫名]  # jdbc:postgresql://localhost:5432/postgres
Driver:org.postgresql.Driver

? ? ? ??

3.3. 構造簡單業務

  • 右擊線程組 → 添加 → 取樣器 →?JDBC Request

簡單讀語句(僅舉例)?

????????

3.4. 配置監聽器

  • 右擊線程組?→ 添加 → 監聽器 → 聚合報告
  • 右擊線程組?→ 添加 → 監聽器 → jp@gc - Response Times Over Time
  • 右擊線程組?→ 添加 → 監聽器 → jp@gc - Transactions per Second
  • 右擊線程組?→ 添加 → 監聽器 →?jp@gc - Active Threads Over Time

所有基礎配置如下:

?

????????

3.5. 運行測試

?

? ? ? ??

【最終結果】聚合報告

????????

【最終結果】響應時間

????????

【最終結果】吞吐量

????????

【最終結果】線程數

????????

總結

我們配置的吞吐量為?10000/分,換算為每秒 10000 / 60 = 167。從上面測試結果來看,響應時間非常低,吞吐量很穩定,并且僅1個線程就能夠滿足要求,說明此次壓測并沒有達到數據庫可承受的最大值,如果需要測試程序最大承受壓力直接修改?Target Rate 即可。

????????

4. 按秒壓測

我們將單位設置為秒,那么設置的最大吞吐量就是每秒最大達到1000。這里分了5個階梯,達到最大后持續運行 2+5分鐘,觀察是否指標穩定。

  • Concurrency Limit 限制了最大100個線程數。?

????????

【結果如下】

吞吐量按需求持續增長,最終達到1000/s,相對穩定

????????

線程數隨著吞吐量的增加也是有所增長,整體也比較穩定

????????

響應時間較快,也相對穩定。

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

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

相關文章

C#在并發編程使用Frozen來確保線程安全性

在C#中,Frozen方法通常用于通過不可變對象來確保線程安全性。這通常在并發編程中很有用,特別是在共享狀態的多線程環境中。Frozen方法是Caliburn Micro框架中的一個方法,它用于將對象標記為不可變。 當你調用Frozen方法時,它返回…

云計算 2月26號 (進程管理和常用命令)

一、權限擴展 文件權限管理之: 隱藏權限防止root誤刪除 文件屬性添加與查看 [rootlinux-server ~]# touch file1 file2 file3 1.查看文件屬性 [rootlinux-server ~]# lsattr file1 file2 file3 ---------------- file1 ---------------- file2 ---------------- f…

【FAQ】HarmonyOS SDK 閉源開放能力 —Account Kit

1.問題描述 實時驗證和非實時驗證的區別是什么? 解決方案 相同點: “手機號快速驗證”和“實時驗證”都是為了向用戶發起獲取手機號信息的請求。最終目的都是為了獲取到手機號。這兩種獲取方式都需要完成“獲取您的手機號”的Scope權限申請。 區別&…

UDP協議和TCP協議詳解

文章目錄 應用層自定義協議 傳輸層udp協議TCP協議1.確認應答2.超時重傳3.連接管理建立連接, 三次握手斷開連接, 四次揮手tcp的狀態 4.滑動窗口5.流量控制6.擁塞控制7.延時應答8.攜帶應答9.面向字節流10.異常情況 應用層 自定義協議 客戶端和服務器之間往往要進行交互的是“結構…

Eigen-約簡,訪問和廣播

約簡化,訪客和廣播 一、約簡化1. 標準計算2. 布爾約減 二、訪問三、部分約簡1. 將部分約減與其他業務相結合 四、廣播1. 將廣播與其他業務相結合 一、約簡化 在Eigen中,約簡化是一個接受矩陣或數組并返回單個標量值的函數。最常用的約簡方法之一是.sum(…

心法利器[108] | 微調與RAG的優缺點分析

心法利器 本欄目主要和大家一起討論近期自己學習的心得和體會。具體介紹:倉頡專項:飛機大炮我都會,利器心法我還有。 2023年新的文章合集已經發布,獲取方式看這里:又添十萬字-CS的陋室2023年文章合集來襲,更…

修復通達OA 百度ueditor 文件上傳漏動

前些日子,服務器阿里云監控報警,有文件木馬文件,因為非常忙,就沒及時處理,直接刪除了木馬文件了事。 誰知,這幾天對方又上傳了木馬文件。好家伙,今天不花點時間修復下,你都傳上癮了…

PHP【swoole】

前言 Swoole官方文檔:Swoole 文檔 Swoole 使 PHP 開發人員可以編寫高性能高并發的 TCP、UDP、Unix Socket、HTTP、 WebSocket 等服務,讓 PHP 不再局限于 Web 領域。Swoole4 協程的成熟將 PHP 帶入了前所未有的時期, 為性能的提升提供了獨一無…

Dynamo初學嘗試梳理

學習Dynamo有一段時間了,最近整理了下自己的筆記,分享一些給初學者,做個備忘吧!(PS:很多資料網上都能搜到,我僅僅是收集整理下筆記,分享給大家) 今天先簡單介紹下Dynamo…

展廳設計中多媒體的常用技術

1、互動投影 可以大大提高展廳和觀眾之間的互動體驗,使觀眾不僅可以享受觀看,還可以在輕松娛樂的氛圍中娛樂的氛圍中享受每個展覽的背景故事和內涵,使整個參觀過程非常輕松愉快。 2、幻影成像 可以全面展示企業產品的生產過程,讓觀…

STM32 (4) GPIO(1)

1.芯片的引腳分布 2.普通IO引腳的命名規則 3.IO復用 IO引腳身兼數職的現象叫做IO復用,可以使芯片擁有更多的功能,例如: PA9和PA10既可以用于GPIO的引腳,也可以用于串口或定時器的引腳 通用:CPU直接控制IO引腳的輸入輸…

Linux:用戶格式顯示進程

簡介 在Linux系統中,ps 命令用于查看當前系統中的進程。ps -aux 是該命令的一個常用選項組合,用于以用戶格式顯示所有進程。 ps -aux 輸出的信息內容及含義: USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND r…

【OpenGL編程手冊-04】詳細解釋著色器

著色器 目錄 一、說明二、著色器語言GLSL2.1 典型的著色器代碼2.2 數據類型2.2.1 向量 2.3 輸入與輸出2.3.1 頂點著色器2.3.2 片段著色器 2.4 Uniform2.5 函數后綴含義2 .6 更多屬性! 三、我們自己的著色器類四、從文件讀取五、 編譯著色器練習 一、說明 在Hello T…

shopee、美客多、敦煌、國際站賣家如何掌握測評補單的核心要素

對于賣家而言,測評補單是一種經濟高效的推廣策略,它對于提升商品流量、優化轉化率、增強關鍵詞質量分以及加強鏈接權重都起到了積極的推動作用。然而,要實現自養號測評,需滿足以下條件: 首要之務,建立一個穩…

jenkins插件下載失敗bug

如果遇到安裝jenkins插件經常失敗并報以下類似錯誤,很可能是因為jenkins國外官方插件地址下載速度非常慢,我們可以修改為國內插件地址。 java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or h…

詳細分析Java類調用Service接口失效的注意事項(附Demo)

目錄 前言1. 問題所示2. 原理分析3. 解決方法 前言 試錯了一小時&#xff0c;發現接口返回null&#xff01;&#xff01; 最后梳理其知識點并總結其原理 1. 問題所示 接口類如下&#xff1a; public interface IInfoService extends BaseService<Info> {錯誤方式一&a…

【Zookeeper】ZooKeeper的一些重要功能和作用

&#x1f34e;個人博客&#xff1a;個人主頁 &#x1f3c6;個人專欄&#xff1a;日常聊聊 ?? 功不唐捐&#xff0c;玉汝于成 目錄 前言 正文 結語 我的其他博客 前言 隨著分布式系統的普及和應用場景的不斷增加&#xff0c;構建可靠、高效的分布式系統變得愈發重要。然…

Vue 3 中如何遷移從 Vue 2 的項目?

引言 Vue.js 是一個流行的前端框架&#xff0c;它以其響應式數據綁定和組件化系統而聞名。隨著時間的推移&#xff0c;Vue.js 也在不斷發展和改進。Vue 3 是 Vue.js 的一個重大更新&#xff0c;它帶來了許多新特性和改進&#xff0c;包括更好的性能、更小的體積、更強大的組合…

C 嵌入式系統設計模式 19:保護調用模式

本書的原著為&#xff1a;《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》&#xff0c;講解的是嵌入式系統設計模式&#xff0c;是一本不可多得的好書。 本系列描述我對書中內容的理解。本文章描述嵌入式并發和資源管理模式之五…

Cesium 3D Tiles 簡介

3D Tiles 是大規模異構 3D 地理空間數據集&#xff08;例如點云、建筑物和攝影測量&#xff09;的開放標準。3D Tiles 基于 glTF 和其他 3D 數據類型構建&#xff0c;是一種可類似二維瓦片模式的流式傳輸的優化格式&#xff0c;旨在適應當今不斷增長的 3D 地理空間數據集的渲染…