什么是Jmeter? Jmeter工作原理是什么?

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快?

第一篇 什么是 JMeter?JMeter 工作原理

1.1 什么是 JMeter

Apache JMeter 是 Apache 組織開發的基于 Java 的壓力測試工具。用于對軟件做壓力測試,它最初被設計用于 Web 應用測試,但后來擴展到其他測試領域。 它可以用于測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 可以用于對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter 能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。為了最大限度的靈活性,JMeter 允許使用正則表達式創建斷言。

Apache jmeter 可以用于對靜態的和動態的資源(文件,Servlet,Perl 腳本,java 對象,數據庫和查詢,FTP 服務器等等)的性能進行測試。它可以用于對服務器、網絡或對象模擬繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大并發負載測試你的服務器/腳本/對象。

1.2 為什么是 JMeter

為什么選擇 JMeter,下面看看 JMeter 的特色。

  1. 開源許可: Jmeter 是完全免費的,并提供了源碼可供自定義開發

  2. 圖形界面模式:提供了方便的圖形界面來編輯和開發測試腳本

  3. 平臺無關:可以輕易在 windows、linux、mac 上運行

  4. 多線程框架:通過線程組,能夠輕易地設置不同測試的并發用戶。

  5. 圖形測試結果:提供了圖表、表格、樹、文件等格式的結果顯示。

  6. 易于安裝:jmeter 不需要安裝,下載解壓即可用。

  7. 高擴展性:jmeter 支持用戶自定義測試腳本,同樣還提供了各種插件。

  8. 多測試類型支持:支持性能測試、分布式測試、功能測試

  9. 仿真模擬:支持多用戶并發測試

  10. 多協議支持:支持 http、jdbc、ldap、soap、jms、ftp 等等協議

  11. 錄制&回放:支持用 badboy 或 jmeter 錄制

  12. 腳本測試:jmeter 支持 beanshell 和 selenium

1.3 JMeter 工作原理

JMeter 基本工作原理如圖:

在這里插入圖片描述

JMeter 完整的工作原理如圖:

在這里插入圖片描述

1.4 總結

本次對 jmeter 進行了簡單的基本介紹,主要讓大家對 jmeter 有個基本的了解。

第二篇 JMeter 目錄及關鍵配置分析

2.1 前言

學習一種工具,首先得對其關鍵配置及目錄等有一個基本的了解,這樣能更方便地深入掌握該工具,下面我們就 JMeter 的目錄及相關關鍵配置進行分析說明。

2.2 下載安裝

1.安裝主程序

從 Apache JMeter 官網下最新版本:

http://jmeter.apache.org/download_jmeter.cgi

在這里插入圖片描述

下載后直接解壓即可。

2.安裝插件管理


https://jmeter-plugins.org/install/Install/ 或 https://jmeter-plugins.org/downloads/all/ 下載插件管理包,如圖:

在這里插入圖片描述

將下載的包放至 jmemter 解壓根目錄的 lib/ext 下后重啟jmeter即可。

在這里插入圖片描述

2.3 目錄說明

先看一下解壓后的 JMeter 安裝目錄:

在這里插入圖片描述

目錄說明:

backups: 包含jmeter對測試計劃的自動備份保存

? bin: 包含啟動、配置等相關命令

? docs: 官方本地文檔目錄

? extras: 輔助庫

? lib: 核心庫,包含 JMeter 用到的各種基礎庫和插件

? licenses: 包含 non-ASF 軟件的許可證

? printable_docs: 可打印版本文檔目錄

? LICENSE: JMeter 許可說明

? NOTICE: JMeter 簡單信息說明

? README.md: JMeter 官方基本介紹

下面我們重點看下 bin 目錄,如圖:

在這里插入圖片描述

主要介紹 bin 目錄下我們最關注幾個文件:

? jmeter.properties: JMeter 核心配置文件,各種配置基本在這完成

? log4j.conf: JMeter 日志配置管理

? jmeter.log: JMeter 運行日志記錄,什么輸出信息、警告、報錯都在這里進行了記錄

? jmeter.bat: windows 下 jmeter 啟動文件

? shutdown.cmd: windows 下 jmeter 關閉文件

? stoptest.cmd: windows 下 jmeter 測試停止文件

? jmeter-server.bat: windows 下 jmeter 服務器模式啟動文件

注:每一個.cmd 文件都對應一個.sh 文件,.sh 是 linux 下的對應功能的文件,其他文件的功能就不一一說明了,同時其他目錄這里也不再進行闡述,有興趣的可以自己深入看下。

2.4 關鍵配置說明

1.jmeter.properties 配置說明

主要包含以下幾個方面的配置:

SSL 配置:

重點關注下面幾個配置

# 指定 HTTPS 協議層https.default.protocol=TLS# 指定 SSL 版本,實際應用中可能需要修改https.default.protocol=SSLv3# 設置啟動的協議https.socket.protocols=SSLv2Hello SSLv3 TLSv1# 緩存控制,控制 SSL 是否可以在多個迭代中重用https.use.cached.ssl.context=trueJMeter 界面顯示配置這里就不對其界面顯示控制進行說明了,一般情況下默認界面能滿足大家的應用了。JMeter 測試項目自動備份配置# 設置是否啟用自動備份,默認是 truejmeter.gui.action.save.backup_on_save=true# 設置自動備份目錄,默認備份至 JMeter 根目錄的 backups下jmeter.gui.action.save.backup_directory=# 設置自動備份項目數,默認為最近 10 個jmeter.gui.action.save.keep_backup_max_count=10遠程主機配置# 配置遠程主機的 IP,默認為本機。用逗號","可以設置多個遠程主機remote_hosts=127.0.0.1# 多個遠程主機指定示例如下,其中:后為端口remote_hosts=127.0.0.1:1099,127.0.0.1:1200,127.0.0.1:1300對于 RMID 的配置請直接看配置文件中的選項說明日志管理配置# 設置日志格式log_format_type=default# 設置日志輸出級別log_level.jmeter=INFO# 設置 junit 日志輸出級別log_level.jmeter.junit=DEBUG# 設置日志輸出目標文件,默認為 jmeter.loglog_file=jmeter.log

等等其他還有 10 多個配置大項(就不一一列舉了)

jmeter.bat 關鍵配置修改

為了更優化的使用 jmeter,需要對 jmeter.bat 中的一些配置根據當前機器的配置進行優化,這里進行關鍵配置項說明,找到這些配置,對其中的數值根據當前機器的硬件配置來修改。

set HEAP=-Xms2048m -Xmx2048mset NEW=-XX:NewSize=512m -XX:MaxNewSize=512mset SURVIVOR=-XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=50%set TENURING=-XX:MaxTenuringThreshold=2if %current_minor% LEQ "8" (rem Increase MaxPermSize if you use a lot of Javascript inyour Test Plan :set PERM=-XX:PermSize=512m -XX:MaxPermSize=1024m)

2.5 啟動 jmeter

在 bin 目錄下直接雙擊 jmeter.bat 即可

啟動后的界面如下:

在這里插入圖片描述

2.6 總結

本次就 jmeter 的安裝和配置及關鍵配置項進行了分享,大家可以深入的去研究下其他的一些配置,以便進一步的熟悉 jmeter 的原理和應用。

最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。

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

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

相關文章

Linux網絡基礎1(一)之計算機網絡背景

文章目錄計算機網絡背景網絡發展認識 "協議"高小琴例子方言例子計算機網絡背景 網絡發展 獨立模式: 計算機之間相互獨立; 網絡互聯: 多臺計算機連接在一起, 完成數據共享; 局域網LAN: 計算機數量更多了, 通過交換機和路由器連接在一起; 廣域網WAN: 將遠隔千里的計算…

如何在數學建模賽中實現模型創新?

模型創新性在國賽數學建模中,完備性是論文的基本要求,而創新性則是決定論文能否脫穎而出的關鍵因素。所謂創新,并不僅僅指提出完全新穎的數學理論,而是能夠在已有方法的基礎上,通過新的問題切入點、假設修正、模型優化…

【重磅發布】flutter_chen_updater-版本升級更新

Flutter Chen Updater 一個功能強大的Flutter應用內更新插件,支持Android APK自動下載、安裝和iOS跳轉App Store。 ? 特性 ? 跨平臺支持: Android APK自動更新,iOS跳轉App Store? 智能下載: 支持斷點續傳、文件校驗、多重備用方案? 權限管理: 自動處…

docker 1分鐘 快速搭建 redis 哨兵集群

使用 docker-compose 1 分鐘搭建好 1主2從3哨兵的 redis 哨兵集群 目錄結構 redis-sentinel-cluster ├── check_redis.sh ├── docker-compose.yml ├── redis │ └── redis.conf ├── sentinel │ └── sentinel.confdocker-compose.yml 配置 version: 3…

Git與DevOps實戰:從版本控制到自動化部署

一、版本控制1.什么是版本控制?版本控制用于高效追蹤和管理項目開發中的代碼、配置及文檔變更歷史,確保團隊成員始終使用正確版本,并支持版本回溯、差異比較和文件恢復。它能帶來以下優勢:通過歷史記錄保障數據安全與完整性&#…

大模型——利用RAG構建智能問答平臺實戰

利用RAG構建智能問答平臺實戰 目前公司的智能問答平臺利用RAG技術構建,現給大家分享下通RAG技術構建智能問平臺的具體流程和原理。 一、什么是RAG RAG是檢索增強生成技術(Retrieval-Augmented Generation),目前是構建智能問答的重要技術。RAG相比傳統的檢索可以可以減少…

flume事務機制詳解:保障數據可靠性的核心邏輯

flume事務機制詳解:保障數據可靠性的核心邏輯 在數據采集過程中,“不丟數據、不重數據” 是核心需求。Flume 之所以能在分布式環境下保證數據可靠性,關鍵在于其內置的事務機制。Flume 通過在 “Source → Channel” 和 “Channel → Sink” …

第四十九天(springboot模版注入ThymeleafFreemarkerVelocity)

開發框架-SpringBoot 參考:Spring Boot 中文文檔 新建一個spring Boot 項目,修改服務器url為 aliyun.com 不然沒有與jdk8版本對應的java 選擇一個spring web 庫,點擊創建即可 來到這個頁面點擊運行 啟動的是8080端口,用127.0.0.1…

Spring MVC 九大組件源碼深度剖析(六):HandlerExceptionResolver - 異常處理的藝術

文章目錄一、異常處理的核心價值二、核心接口設計三、四大內置實現類源碼解析1. ExceptionHandlerExceptionResolver(現代異常處理核心)2. ResponseStatusExceptionResolver(HTTP狀態碼處理)3. DefaultHandlerExceptionResolver&a…

MCP(Model Context Protocol,模型上下文協議)介紹

1. 背景 隨著大語言模型(LLM, Large Language Model)的應用越來越廣泛,一個核心問題逐漸凸顯: 模型在對話或推理時,往往只能依賴有限上下文窗口。外部工具、知識庫、應用接口如何統一接入模型,缺乏標準協議…

synchronized的鎖對象 和 wait,notify的調用者之間的關系

誰調用了wait和notify方法,會決定這兩個方法的控制范圍嗎?你的問題非常深入,涉及到 wait() 和 notify() 方法的控制范圍和作用域。讓我們詳細分析一下:? 核心概念:控制范圍由“鎖對象”決定wait() 和 notify() 的控制…

【技術教程】如何將文檔編輯器集成到用 .Net 編寫的網絡應用程序中

在現代網絡應用中,?富文本編輯能力已成為內容管理系統的核心需求。對于 .NET 開發者而言,選擇適合的編輯器并高效集成,是構建企業級應用的關鍵一步,可讓項目管理、 CRM 或定制化系統具備原生辦公能力,消除頻繁切換應用…

【大模型記憶-Mem0詳解-1】概述

目的和能力 Mem0 通過提供以下功能將無狀態 AI 應用程序轉換為有狀態、支持內存的系統: 持久記憶 :跨會話長期保留用戶偏好、對話歷史記錄和上下文信息多級內存 :支持具有自適應個性化的用戶級、會話級和代理級內存智能提取 :基于…

2024年山東省信息學小學組(CSP-X)第一輪題解

2024年山東省信息學小學組(CSP-X)第一輪題解 原題下載 單項選擇題 閱讀程序 閱讀程序 #1 判斷題 閱讀程序 #2 判斷題 單選題 閱讀程序 #3 判斷題 單選題 完善程序 消滅怪獸 位運算操作 原題下載 CSP-X2024小學組(山東)第一輪試題以及答案 單項選擇題 共 15 題,每題 2 分…

SW - 用裝配圖的方式組合多個子零件然后轉換成為零件,可維護性好

文章目錄SW - 用裝配圖的方式組合多個子零件然后轉換成為零件,可維護性好概述筆記例子將裝配圖另存為零件將零件圖中的多個實體組合為一個實體的特征備注ENDSW - 用裝配圖的方式組合多個子零件然后轉換成為零件,可維護性好 概述 以前畫機械零件&#x…

PhotoshopImageGenerator:基于Photoshop的自動化圖像數據集生成工具

整體邏輯與設計思路 PhotoshopImageGenerator是一個基于Python和Win32COM的自動化工具,通過控制Adobe Photoshop CC 2019創建多樣化的圖像數據集。其核心設計思路是通過程序化調用Photoshop的圖像編輯能力,為基礎圖像添加隨機元素(圖片、文本、形狀)和效果,快速生成大量變…

macos自動安裝emsdk4.0.13腳本

1.替換文件 emsdk #!/bin/sh # Copyright 2019 The Emscripten Authors. All rights reserved. # Emscripten is available under two separate licenses, the MIT license and the # University of Illinois/NCSA Open Source License. Both these licenses can be # foun…

c++ Effective c++ 條款5

class MyClass { public:MyClass(int& ref, const int c_val) : myRef(ref), myConstVal(c_val) {}// 明確刪除拷貝操作MyClass(const MyClass&) delete;MyClass& operator(const MyClass&) delete;private:int& myRef; // 引用成員const int myCo…

如何使用 Xshell 8 連接到一臺 CentOS 7 電腦(服務器)

什么是 Xshell? Xshell 是一款功能強大的、適用于 Windows 平臺的終端模擬器。它支持 SSH (Secure Shell)、SFTP、TELNET、RLOGIN 和 SERIAL 等多種網絡協議,讓用戶能夠安全地連接和管理遠程服務器。 對于開發者、系統管理員和網絡工程師來說&#xff…

CSS scale函數詳解

目錄 基本語法 核心特性 常用場景示例 1. 等比例縮放(X 軸和 Y 軸相同) 2. 非等比例縮放(X 軸和 Y 軸不同) 3. 翻轉并縮放 4. 配合過渡動畫實現交互效果 5. 圖片懸停縮放效果 6. 縮放原點調整 與其他變換組合使用 注意…