jdk自带压测工具_jmeter压测工具
一.目錄文件講解
目錄
bin:核心可執行文件,包含配置
mac/linux:使用jmeter啟動
windows:使用jmeter.bat啟動
jmeter-server:mac/linux分布式壓測的使用的啟動文件
jmeter-server.bat:windows分布式壓測的使用的啟動文件
jmeter.properties:核心配置文件
extras:插件拓展的包
lib:核心的依賴包
ext:核心包
junit:單元測試包
二、語言版本切換
1.控制臺修改
menu - options - choose language
2.配置文件修改(永久)
bin目錄 - jmeter.properties
默認 #language = en
改為 language = zh_CN
三、基本使用
1.添加 - threads - 線程組(控制總體并發)
線程數:虛擬用戶數
準備時長(ramp-up): 全部線程啟動時長
循環次數:每個線程發送的次數
2.線程組 - 添加 - sampler(采樣器) - Http(一個線程組下可以加幾個采樣)
名稱:采樣器名稱
注釋:對這個采樣器的描述
web服務器 : 默認協議為http,默認端口80
路徑:服務器URL
Use multipart/from-data for HTTP POST :當發送post請求時,使
用Use multipart/from-data方法發送,默認不選中
3.查看測試結果
線程組 - 添加 - 監聽器 - 查看結果樹
四、斷言使用
1、增加斷言: 線程組 - 添加 - 斷言 - 響應斷言
apply to (應用范圍)
main sample only :僅當前父取樣器進行斷言,一般一個請求,如果發一個請求會觸發多個,則就有sub
sample(比較少用)
要測試的響應字段
響應文本:響應的數據,比如json等文本
響應代碼:狀態碼,200等
響應信息:例如OK等
Response Header:響應頭
模式匹配規則
包括:包含在里面就成功
匹配:響應內容完全匹配,不區分大小寫
equals:完全匹配,區分大小寫
2、斷言結果監聽器:
線程組 - 添加 - 監聽器 - 斷言結果
里面的內容是sampler采樣器的名稱
斷言失敗:查看結果樹任務結果顏色標紅
3.每個sample下面可以加單獨的結果樹,然后同時加多個斷言,最外層可以加個結果樹進行匯總
五、壓測結果聚合報告分析
新增聚合報告:線程組 - 添加 - 監聽器 - 聚合報告(Aggregate Report)
lable: sample名稱
samples:總共發送多少請求,例如10個用戶循環10次則為100
average:平均響應時間
median:中位數,百分之50用戶都是這個響應時間
90%line:90%的用戶響應時間都不會超過這個值
95%line:95%用戶不會超過這個時間
99%line:99%用戶不會超過這個時間? (存在極端值)
min:最小響應時間
max:最大響應時間
error% :錯誤的請求總數/請求總數
Throughput:吞吐量--默認情況下表示每秒完成的請求數,qps--(Request per Second)
KB/Sec:每秒接收數據量
六、保存結果
為.jmx文件,使用sublime或者xml編輯器都可以打開
七、用戶自定義變量
為什么使用:很多變量在全局中都有使用,或者測試數據更改,可以在一處定義,四處使用
(比如服務器地址)
1.線程組 - add - config Element(配置原件)- user definde variable(用戶定義的變量)
2.引用方式${xxx},在接口變量中使用
3.原始查看結果樹和非原生查看(基礎按鈕)
八、CSV可變參數壓測實戰
讀取csv和txt文本文件里面的參數進行壓測
1.線程組 - add - config element(配置元件) - csv data set config (CSV數據文件設置)
九、JDBC request壓測mysql講解
1.thread Group - add - sampler - jdbc request
2.jar包添加 mysql - connector - java - xx.jar
3.參數講解(sql結尾不要加";")
1.variable name of pool declared in JDBC connection configuration(和配置文件同名)
2.Query type 查詢類型
3.parameter values 參數值
4.parameter types 參數類型
5.variable names sql執行結果變量名
6.result variable names 所有結果當作一個對象存儲
7.query timeouts 查詢超時時間
8.handle results 處理結果集
4.JDBC connection configuration 配置
1.JDBC request - add - config element - JDBC connection configuration
核心配置
Max Number of connections :最大連接數
Max wait :最大等待時間
auto commit :是否自動提交事務
database url :數據庫連接地址 jdbc:mysql://127.0.0.1:3306/blog
JDBC Driver class :數據庫驅動,選擇對應的mysql
username:數據庫用戶名
password:數據庫密碼
十、分布式壓測
1.普通壓測:單臺機可以對目標機器產生的壓力比較小,受限因素包括cpu,網絡,IO等
2.分布式壓測:利用多臺機器向目標機器產生壓力,模擬幾萬用戶并發訪問
十一、分布式壓測原理
1.總控機器的節點master,其他產生壓力的機器叫做“肉雞” server (同個網段)
2.master會把壓測腳本發送到server上面
3.執行的時候,server上只需要把jmeter-server打開就可以了,不用啟動jmeter
4.結束后,server會把壓測數據回傳到master,然后master匯總輸出報告
5.配置詳情
十二、linux下安裝jdk8
下載解壓后重命名jdk8
vim /etc/profile
尾部寫入
export JAVA_HOME = /usr/local/software/jdk8(對應配置)
export JAVA_BIN = /usr/local/software/jdk8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
使用 source /etc/profile 讓配置立刻生效
十三、Jmeter非GUI界面 參數講解
-h 幫助
-n 非GUI模式
-t 指定要運行的JMeter 測試腳本文件
-l 記錄結果的文件 每次運行之前,(要確保之前沒有運行過,即xxx.jtl不存在,不然報錯)
-r jmeter.properties文件中指定的所有遠程服務器
-e 在腳本運行結束后生成的html報告
-o 用于存放html報告的目錄(目錄要為空,不然報錯)
jmeter -n -t xxx.jmx -l result.jtl -e -o /usr/......
十四、查看非GUI界面生成的jtl文件
導出到圖形界面
新建線程組 - summary report - 瀏覽文件 進行查看
十五、壓測接口的性能優化
1.使用非GUI模式: jmeter -n -t test.jmx -l result.jtl
2.少使用listener,如果使用-l ,他們都可以被刪除或禁用
3.在加載測試期間不要使用“查看結果樹”或者“查看結果”表監聽器
4.不要使用功能模式,使用csv輸出而不是xml
5.只保存需要的數據。盡可能少的使用斷言
6.用內網壓測,減少其他帶寬影響壓測結果
7.如果壓測大流量,盡量使用多個節點以非GUI模式向服務器施壓
十六、圖形化html壓測報告dashboard講解
1.Test and report informations
source file :jtl文件名
start time :壓測開始時間
end time :壓測結束時間
filter for display:過濾器
lable:sampler:采樣器名稱
2.APDEX(application performance index)
addex:應用程序性能指標,在0-1之間,1表示達到所有用戶均滿意
T(toleration threshold):可接受閥值
F(frustration threshold):失敗閾值
3.requests summary
ok:成功率
ko:失敗率
4.統計數據
見上面聚合報告講解
十七、圖形化html壓測報告charts講解
1.over time(隨著時間的變化)
response time over time:響應時間變化趨勢
response time percentiles over time(successful responses):最大,最小,平均,用戶響應時間分布
active threads over time :并發用戶趨勢
bytes throughput over time :每秒接受和請求字節數變化,藍色表示發送,黃色表示接受
latencies over time :平均響應延時趨勢
connect time over time :連接耗時趨勢
2.Throughput
hits per Second:每秒點擊次數
codes per Second:每秒狀態碼數量
transactions per sceond :TPS,每秒事務數
response time vs request:響應時間和請求數對比
latency vs request:延遲時間和請求數對比
3.response time
response time percentiles:響應時間百分比
response time overview:響應時間概述
time vs threads:活躍線程數和響應時間
response time distribution:響應時間分布圖
總結
以上是生活随笔為你收集整理的jdk自带压测工具_jmeter压测工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抹掉cydia报错修复
- 下一篇: 昆仑通态与欧姆龙温控器 台达变频器 联合