🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快?
第一篇 什么是 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 的特色。
-
開源許可: Jmeter 是完全免費的,并提供了源碼可供自定義開發
-
圖形界面模式:提供了方便的圖形界面來編輯和開發測試腳本
-
平臺無關:可以輕易在 windows、linux、mac 上運行
-
多線程框架:通過線程組,能夠輕易地設置不同測試的并發用戶。
-
圖形測試結果:提供了圖表、表格、樹、文件等格式的結果顯示。
-
易于安裝:jmeter 不需要安裝,下載解壓即可用。
-
高擴展性:jmeter 支持用戶自定義測試腳本,同樣還提供了各種插件。
-
多測試類型支持:支持性能測試、分布式測試、功能測試
-
仿真模擬:支持多用戶并發測試
-
多協議支持:支持 http、jdbc、ldap、soap、jms、ftp 等等協議
-
錄制&回放:支持用 badboy 或 jmeter 錄制
-
腳本測試: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 的原理和應用。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。