淺識Jmeter與淺談互聯網公司高并發業務壓測流程痛點

淺談Jmeter

什么是Jmeter

JMeter 是 Apache 軟件基金會開發的一個開源軟件,用于負載測試和性能測試。它被設計用來模擬多種請求到服務器、網絡或對象,以測試其性能。JMeter 可以用于測試靜態和動態資源,并且可以模擬各種協議的請求,包括但不限于:

  • HTTP 和 HTTPS:測試Web應用
  • FTP
  • SMTP
  • IMAP
  • JMS
  • LDAP
  • WebSockets

JMeter 還提供了多種功能,如:

  • 多線程測試:能夠模擬多個用戶同時訪問應用程序。
  • 測試計劃和腳本的保存:可以保存測試計劃和腳本,供以后重用。
  • 結果分析:提供了多種圖表和報表來分析測試結果。
  • 插件支持:JMeter 社區提供了許多插件,增強了其功能。

JMeter 適用于開發人員、測試工程師和系統管理員,幫助他們了解應用程序在不同負載下的表現,從而優化性能和穩定性。

運行環境:需要安裝JDK8 以上

Jmeter目錄

bin:核心可執行文件,包含配置 jmeter.bat: windows啟動文件(window系統一定要配置顯示文件拓展名) 
jmeter: mac或者linux啟動文件 
jmeter-server:mac或者Liunx分布式壓測使用的啟動文件 
jmeter-server.bat:window分布式壓測使用的啟動文件
jmeter.properties: 核心配置文件 ? extras:插件拓展的包lib:核心的依賴包

配置文件修改

bin目錄 -> jmeter.properties

語言問題

默認 #language=en
改為 language=zh_CN

響應亂碼問題解決

# sampleresult.default.encoding=ISO-8859-1的注釋去掉,
改成:sampleresult.default.encoding=UTF-8

PS

  • JMeter 不是瀏覽器,它在協議級別工作

  • 對于 Web 服務和遠程服務而言,JMeter 看起來像一個瀏覽器

  • JMeter 并不執行瀏覽器支持的所有操作,不像瀏覽器那樣呈現 HTML 頁面,不執行 HTML 頁面中的 JS

Jmeter5.X核心功能組件+線程組和Sampler

核心功能組件

  1. 測試計劃(Test Plan):這是JMeter測試的起點,所有測試元素都包含在測試計劃中。
  2. 線程組(Thread Group):代表虛擬用戶組,可以設置線程數、Ramp-Up 期(啟動時間)和測試的循環次數。
  3. 配置元件(Config Element):用于設置測試環境,如HTTP請求默認值、數據庫連接等。
  4. 前置處理器(Pre Processors):在請求發送前對請求進行修改或添加信息。
  5. 后置處理器(Post Processors):在請求發送后對響應進行處理。
  6. 斷言(Assertions):用于驗證響應結果是否符合預期。
  7. 監聽器(Listeners):用于查看和分析測試結果,如查看請求和響應數據、生成圖表等。
  8. 定時器(Timers):控制請求之間的間隔時間。
  9. 控制器(Controllers):用于組織Samplers,如邏輯控制器、循環控制器等。

線程組(Thread Groups)

線程組是模擬用戶行為的核心組件,以下是其主要功能:

  • 名稱:線程組的標識。
  • 線程數(Number of Threads):模擬的虛擬用戶數。
  • Ramp-Up 期(Ramp-Up Period):所有線程啟動所需的時間,用于平滑啟動測試。
  • 循環次數(Loop Count):每個線程執行的請求次數,可以設置為永遠循環(Forever)。
  • 調度器(Scheduler):可以設置測試開始的時間。

Samplers

采樣器是實際執行請求的組件,以下是一些常用的Samplers:

  1. HTTP請求(HTTP Request):用于模擬對Web服務器的請求。
  2. FTP請求(FTP Request):用于模擬FTP服務器的請求。
  3. JDBC請求(JDBC Request):用于模擬數據庫請求。
  4. LDAP請求(LDAP Request):用于模擬LDAP服務器的請求。
  5. JMS點對點(JMS Point-to-Point):用于模擬JMS消息傳遞。
  6. WebSocket請求(WebSocket Request):用于模擬WebSocket通信。
  7. TCP請求(TCP Request):用于模擬TCP協議的請求。
  8. 自定義Sampler:用戶可以編寫自定義的Sampler來滿足特定需求。

每個Sampler都可以配置具體的請求參數,如URL、方法(GET、POST等)、請求頭、請求體等。Sampler執行請求后,會生成響應數據,這些數據可以被后續的監聽器捕獲并展示。

JMeter 5.x 版本在之前的基礎上增加了對現代應用程序的支持,如WebSockets和分布式測試的改進,以及用戶界面和性能的優化。使用JMeter進行性能測試時,可以根據測試需求選擇合適的組件和配置。

互聯網公司高并發業務的Jmeter壓測流程痛點

痛點一:本地測試環境與生產環境差異

痛點二:Linux服務器命令行壓測配置復雜性

痛點三:JMX腳本和參數化文件管理

痛點四:測試報告生成和存儲

痛點五:不同環境下的測試一致性

痛點六:性能優化后的再測試

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

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

相關文章

NDVI數據集提取植被覆蓋度FVC

植被覆蓋度FVC 植被覆蓋度(Foliage Vegetation Cover,FVC)是指植被冠層覆蓋地表的面積比例,通常用來描述一個區域內植被的茂密程度或生長狀況。它是生態學、環境科學以及地理信息系統等領域的重要指標,對于理解地表能…

絕區叁--如何在移動設備上本地運行LLM

隨著大型語言模型 (LLM)(例如Llama 2和Llama 3)不斷突破人工智能的界限,它們正在改變我們與周圍技術的互動方式。這些模型早已集成到我們的手機中,但到目前為止,它們理解和處理請求的能力還非常有限。然而,…

手寫實現一個ORM框架

手寫實現一個ORM框架 什么是ORM框架、ORM框架的作用效果演示框架設計代碼細節SqlBuilderSqlExecutorStatementHandlerParameterHandlerResultSetHandler逆序生成實體類 大家好,本人最近寫了一個ORM框架,想在這里分享給大家,讓大家來學習學習。…

leetcode力扣_排序問題

215.數組中的第K個最大元素 鑒于已經將之前學的排序算法忘得差不多了,只會一個冒泡排序法了,就寫了一個冒牌排序法,將給的數組按照降序排列,然后取nums[k-1]就是題目要求的,但是提交之后對于有的示例顯示”超出時間限制…

JavaWeb開發之環境準備-大合集

本文博客地址 JavaWeb開發 || 環境準備 1. 前言2. JDK8安裝2.1 下載地址2.2 安裝配置圖示2.2.1 JDK安裝2.2.2 配置系統環境變量 3. Maven安裝3.1 Maven下載3.2 Maven解壓及系統變量配置 4. Tomcat安裝4.1 Tomcat下載4.2 Tomcat解壓及系統變量配置 5. Redis安裝5.1 Redis下載5.…

記錄一次麒麟V10 安裝sysbench各種報錯(關于MySQL)處理過程

sysbench手工下載: https://github.com/akopytov/sysbench 下載.zip文件,上傳到服務器上 解壓、安裝: unzip sysbench-master.zipcd sysbench-master/sh autogen.sh./configure 報錯:沒有mysql驅動 configure: error: mysql_c…

Marin說PCB之CAM350的軟件使用知多少?

今天上海的氣溫那叫一個高啊,溫度都達到了39左右了都,我都嚴重懷疑我不是在魔都上班而是在火焰山板磚去了。這么燥熱的天氣真的是嚴重影響了小編我的工作效率,沒有心情工作啊,要去泳池避避暑,沖個涼也行啊。這種天氣只…

WebKit 的結構、工作流程、技術細節和高級特性

WebKit 是一個開源的瀏覽器引擎,主要負責解析和渲染網頁,執行 JavaScript 代碼以及處理用戶交互。它最初由蘋果公司開發,用于 Safari 瀏覽器,但后來 Google 和其他公司也基于 WebKit 開發了自己的瀏覽器,如早期版本的 …

SQL Server時間轉換

第一種:format --轉化成年月日 select format( GETDATE(),yyyy-MM-dd) --轉化年月日,時分秒,這里的HH指24小時的,hh是12小時的 select format( GETDATE(),yyyy-MM-dd HH:mm:ss) --轉化成時分秒的,這里就不一樣的&…

力扣5----最長回文子串

給你一個字符串 s,找到 s 中最長的回文子串 示例 1: 輸入:s "babad" 輸出:"bab" 解釋:"aba" 同樣是符合題意的答案。示例 2: 輸入:s "cbbd" 輸出…

Feign-未完成

Feign Java中如何實現接口調用?即如何發起http請求 前三種方式比較麻煩,在發起請求前,需要將Java對象進行序列化轉為json格式的數據,才能發送,然后進行響應時,還需要把json數據進行反序列化成java對象。 …

G2.【C語言】EasyX繪制顏色窗口

1.窗口 窗口&#xff1a;寬度*高度&#xff08;單位都是像素&#xff09; #include <stdio.h> #include <easyx.h> int main() {initgraph(640, 480);getchar();return 0; } 640是寬&#xff0c;480是高 2.操作窗口的三個按鈕 #include <stdio.h> #incl…

go語言day10 接口interface 類型斷言 type關鍵字

接口&#xff1a; 空接口類型&#xff1a; 要實現一個接口&#xff0c;就要實現該接口中的所有方法。因為空接口中沒有方法&#xff0c;所以自然所有類型都實現了空接口。那么就可以使用空接口類型變量去接受所有類型對象。 類比java&#xff0c;有點像Object類型的概念&#x…

免費去馬賽克軟件,親測支持視頻和圖片,這AI功能逆天了!

有小伙伴私信問阿星有什么去除馬賽克的免費軟件&#xff0c;求推薦好用的去馬賽克軟件。 市面上去馬賽克的軟件多如牛毛&#xff0c;但真正好用的真不多&#xff0c;而免費的是更少。今天阿星就分享一款 AI智能去馬賽克軟件&#xff0c;免費使用。軟件支持去除圖片和視頻的馬賽…

51單片機STC89C52RC——15.1 AD/DA(模數數模)

目的/效果 1 LCD1602 顯示 可調電阻、光敏電阻、熱敏電阻值&#xff08;AD&#xff09; 2 模擬信號控制LED明暗&#xff08;DA&#xff09; 一&#xff0c;STC單片機模塊 二&#xff0c;AD/DA 2.1 AD/DA 介紹 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模擬…

第1章 項目背景(學成在線),項目介紹,環境搭建

1.項目背景 1.1 在線教育市場環境 以下內容摘自https://report.iresearch.cn/content/2021/01/358854.shtml 在線教育行業是一個有著極強的廣度和深度的行業&#xff0c;從校內到校外&#xff1b;從早幼教到職業培訓&#xff1b;從教育工具到全信息化平臺等等。 2020年的新…

用Excel處理數據圖像,出現交叉怎么辦?

一、問題描述 用excel制作X-Y散點圖&#xff0c;意外的出現了4個交叉點&#xff0c;而實際上的圖表數據是沒有交叉的。 二、模擬圖表 模擬部分數據&#xff0c;并創建X-Y散點圖&#xff0c;數據區域&#xff0c;X軸數據是依次增加的&#xff0c;因此散點圖應該是沒有交叉的。…

linux centos 安裝niginx并且添加ssl(https)模塊

文章目錄 前言一、nginx安裝教程1.流程步驟 總結 前言 一、nginx安裝教程 1.流程步驟 代碼如下&#xff08;示例&#xff09;&#xff1a; 1.先下載linux安裝包 2.解壓安裝命令 sudo tar -zxvf nginx-1.20.1.tar.gz3.進入解壓后的目錄 sudo cd nginx-1.20.14.安裝 sudo y…

歡迎加入國家智能網聯汽車創新中心OS開發訓練營大家庭

歡迎加入國家智能網聯汽車創新中心OS開發訓練營大家庭。&#x1f680; 導學階段啟動 在正式開營之前&#xff0c;我們特別設置了導學階段&#xff0c;旨在幫助大家更好地迎接頗具挑戰性的項目實戰。導學階段包括一系列精心準備的視頻課程和配套習題。github鏈接&#xff1a;htt…

使用c++進行大規模的矩陣運算

算法通過分塊矩陣乘法和多線程并行計算實現了大規模矩陣乘法的高效計算 #include <iostream> #include <vector> #include <thread> #include <cmath>class LargeMatrixMultiplier { private:const int BLOCK_SIZE 64; // 分塊大小// 輔助函數&…