Jmeter 數(shù)據(jù)庫壓測配置和實戰(zhàn)——MySQL

使用場景

1.是工作中需要直接對數(shù)據(jù)庫進行測試,來得到數(shù)據(jù)庫的瓶頸;

2.當數(shù)據(jù)庫無法性能較差時,可以通過擴展硬件和調(diào)節(jié)參數(shù)來調(diào)優(yōu),其中如果判定時SQL語句需要進行優(yōu)化時,部門關聯(lián)不大的情況下可以直接及將SQL語句拿到數(shù)據(jù)庫中替換對應的參數(shù),直接對數(shù)據(jù)庫中SQL響應時間等進行查看,一遍更好判斷調(diào)優(yōu)方向

3.在實際中還可能存在一些登錄壓測情況,但是不能將賬號和密碼固定,因為這種情況和實際系統(tǒng)使用時不同,此時,可以用jmeter連接數(shù)據(jù)庫的賬號表,直接取出賬號和密碼等信息進行登錄壓測,這樣更符合系統(tǒng)使用情況。更有深入的情況,可以將登錄成功的token等認證信息提取出來,用到后續(xù)的增刪查改壓測中,這個在實際壓測中很常見。

怎么使用JMETER和數(shù)據(jù)庫相連接

測試數(shù)據(jù)庫與測試web程序類似,web程序的測試需要提供接口,而數(shù)據(jù)庫測試則需要提供依賴庫和連接串來測試


需要的插件

1.下載連接數(shù)據(jù)庫插件 mysql-connector-java

連接mysql的jar包下載地址:https://www.mysql.com/downloads/





下載后將下載的包解壓到對應的地方,一邊之后再配置jmeter“測試計劃”中進行配置,由于我的已經(jīng)下載了8.0.33版的驅(qū)動,所以下面我就直接用8.0.33般的驅(qū)動進行演示。

配置實戰(zhàn)

1.打開jmeter工具,在測試計劃中添加數(shù)據(jù)庫連接配置


2.添加數(shù)據(jù)配置信息

右擊測試計劃 → 添加 → 配置元件 →?JDBC Connection Configuration

3.添加JDBC配置元件中的配置信息

? ? ? ? Database?URL:jdbc:mysql://[IP]:[端口]/[數(shù)庫名]

? ? ? ? JDBC Driver class:因為是連接mysql,所以要選擇mysql的驅(qū)動

4.添加線程組,設置線程組

?右擊測試計劃——添加——線程(用戶)——線程組


5. 添加JDBC Request。

右擊線程組 → 添加 → 取樣器 →?JDBC Request


6. 配置JDBC Request。

sql query類型選擇
其他相關信息配置

7.添加必要的監(jiān)聽器.

此處我就暫時只介紹添加的“聚合報告”和“查看結(jié)果樹”,“jp@gc - Transactions per Second”和“jp@gc - PerfMon Metrics Collector“在后續(xù)的介紹中再和大家介紹。

7.1.添加“聚合報告”

右擊JDBC Request——添加——監(jiān)聽器——聚合報告

7.2. 添加“查看結(jié)果樹”

右擊JDBC Request——添加——監(jiān)聽器——查看結(jié)果樹


聚合報告:可以查看事務或者取樣器在某個時間范圍內(nèi)執(zhí)行的匯總結(jié)果

? ? ? ? 各參數(shù)意思:

Label:請求的名稱,就是我們在進行測試的HTTP請求取樣器的名稱

樣本(Samples):總共發(fā)給服務器的請求數(shù)量,如果模擬10個用戶,每個用戶迭代10次,那么總的請求數(shù)為:10*10 =100次

平均值(Average):平均響應時間,所有請求的平均響應時間,單位是毫秒

中位數(shù):50%的用戶響應時間不超過這個值

90% 百分位:90%的用戶響應時間不超過這個值

95% 百分位:95%的用戶響應時間不超過這個值

99% 百分位:99%的用戶響應時間不超過這個值

最小值:請求的最小響應時間

最大值(Max):請求的最大響應時間

異常 %(Error):異常百分比。(錯誤請求的數(shù)量/請求的總數(shù))

吞吐量(Throughput):每秒取樣器執(zhí)行的數(shù)量,相當于 TPS

接收 KB/sec(Received KB/sec):每秒接收的千字節(jié)數(shù)

發(fā)送 KB/sec(Sent KB/sec):每秒發(fā)送的千字節(jié)數(shù)


查看結(jié)果樹:查看結(jié)果樹展示了每個取樣器的請求結(jié)果、請求信息和響應信息??梢酝ㄟ^結(jié)果樹中的內(nèi)容來分析腳本是否存在問題

8.查看結(jié)果,由于查詢和增刪改的SQL和類型不同,所以我用兩個JDBC Request取樣器來進行展示

? ?8.1. 查詢的執(zhí)行情況?

查看結(jié)果樹


聚合報告

8.2. 增刪改的執(zhí)行情況

增刪改的配置
查看結(jié)果數(shù)


查看聚合報告

總結(jié)

壓測MySQL數(shù)據(jù)庫中關鍵點

1.數(shù)據(jù)庫驅(qū)動配置正確

2.JDBC配置和取樣器等各個參數(shù)配置需正確

3.配置對應需要的監(jiān)聽器,通過監(jiān)聽器的數(shù)據(jù)來看壓測的數(shù)據(jù)庫情況,一般查看“響應時間”和“吞吐量”的數(shù)據(jù)情況,響應時間越小越好,吞吐量越高越好。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 在jmeter里面引入jar包,創(chuàng)建線程組 創(chuàng)建JDBC Connection Confirgation(在里面配...
    沐汐k閱讀 417評論 0 0
  • 一、概述 JMeter是Apache下一款在國外非常流行和受歡迎的開源性能測試工具,JMeter可用于模擬大量負載...
    蜀山客e閱讀 653評論 1 1
  • 為什么要壓測 這個問題問的其實挺沒有必要的,做開發(fā)的同學應該都很清楚,壓測的必要性,壓力測試主要目的就是讓我們在上...
    monkey01閱讀 34,702評論 8 57
  • 今天我們學習下如何利用Jmeter連接并操作MySQL數(shù)據(jù)庫。 準備工作 首先,需要準備數(shù)據(jù)庫及表,且保證能夠正常...
    wintests閱讀 1,005評論 1 3
  • 22、常用壓力測試工具對比 簡介:目前用的常用測試工具對比 1、loadrunner A:性能穩(wěn)定,壓測結(jié)果及細粒...
    毛毛毛_7670閱讀 1,661評論 0 3

友情鏈接更多精彩內(nèi)容