日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jdk自带压测工具_jmeter压测工具

發布時間:2024/3/24 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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压测工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。