Jmeter 介紹
Apache JMeter應(yīng)用程序是開源軟件,旨在為負載測試功能行為和測量性能的100%純Java應(yīng)用程序。它最初是為測試Web應(yīng)用程序而設(shè)計的,但后來擴展到其他測試功能
常用壓力測試工具對比
- LoadRunner:性能穩(wěn)定,壓測結(jié)果及細度大,可以自定義腳本進行壓測,過于重大,功能比較繁多;
- Apache ab :模擬多線程并發(fā)請求,ab命令對發(fā)布負載的計算機要求很低,即不會占用過多cpu,也不會占用過多的內(nèi)存,但卻會給目標服務(wù)器造成巨大的負載,簡單的DDOS攻擊等;
- webbench:webbench首先fork出多個子進程,每個子進程都循環(huán)做web訪問測試。子進程把訪問的結(jié)果通過pipe告訴父進程,父 進程做最終的統(tǒng)計結(jié)果。
Jmeter 基本使用場景介紹
| 壓測不同的協(xié)議和應(yīng)用 | 使用場景及優(yōu)點 |
|---|---|
| Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) | 功能測試 |
| SOAP / REST Webservices | 壓力測試 |
| FTP | 分布式壓力測試 |
| Database via JDBC | 純java應(yīng)用 |
| LDAP 輕量目錄訪問協(xié)議 | 上手容易,高性能 |
| Message-oriented middleware (MOM) via JMS | 提供測試數(shù)據(jù)分析 |
| Mail - SMTP(S), POP3(S) and IMAP(S) | 各種報表數(shù)據(jù)圖形展示 |
| TCP等等 |
Jmeter本地快速安裝
安裝jdk
因為Jmeter是純java應(yīng)用,so其運行環(huán)境是需要jdk的,至于jdk下載方式,自行查詢;https://blog.csdn.net/qq_36819281/article/details/83658585
安裝Jmeter
GUI圖形界面的安裝
windows: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.zip
mac/linux: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-4.0.tgz
Jmeter 目錄文件介紹
bin 核心可執(zhí)行文件,包含配置
jmeter.bat windows 可執(zhí)行文件
jmeter mac/linux啟動文件
jmeter-server mac/linux分布式壓測使用的啟動文件
jmeter-server.bat windows分布式壓測使用的啟動文件
jmeter-properties 核心配置文件
extras 插件拓展的包
lib 核心的依賴包
ext 核心包
junit 單元測試包
Jmeter GUI語言切換
- GUI修改:menu -> options -> choose language
- 配置文件修改:bin目錄下 -> jmeter.properties,找到默認
#language=en修改為language=zh_CN
Jmeter基礎(chǔ)功能組件介紹 Thread Group 和 Sampler(采樣器)
下面先放一張圖(windows)

01.png
- 右鍵"測試計劃" --> add --> thread group(控制總體并發(fā))
????Number of Threads(users): 虛擬用戶數(shù),一個虛擬用戶占用一個線程或者進程
????Ramp-Up Period(in seconds):全部線程執(zhí)行時長
????Loop Count:循環(huán)次數(shù)
????Forever:是否永遠執(zhí)行 - 右鍵"Thread Group" --> add --> Sampler -->HTTP Request(一個線程組下可以增加很多Sampler)
????Name:請求名稱
????Comments:說明
????WebServer:web服務(wù)器工作區(qū)
????????Protocol:協(xié)議,不填默認是Http
????????ServerName or IP:服務(wù)器地址或者ip
????????Port Number:端口號
????????Method:請求方式
????????Path:資源路徑
????????Content encoding:內(nèi)容編碼 - 右鍵"HTTP Request(查看當(dāng)前請求結(jié)果)/Thread Group(全局)" --> add --> Listener(監(jiān)聽器) --> View Results Tree(查看結(jié)果樹)
Jmeter post請求示例
以登錄接口為例
02.jpg

03.jpg

04.jpg

05.jpg
Jmeter 用戶變量設(shè)置(拓展)
如果咱們在做項目時,一個項目下添加了若干個HTTP Request,還是需要挨個配置域名,那就會略顯麻煩了,在Jmeter中還有一個方法可以簡化我們的操作;

06.jpg
調(diào)用此變量時格式為 ${host}