JMeter連接Mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
JMeter連接mysql數(shù)據(jù)庫(kù)是很方便的,下面就演示一下具體的操作。
首先,在本地安裝好mysql服務(wù)器,建立庫(kù)和表,并準(zhǔn)備數(shù)據(jù)以供測(cè)試使用。
接下來(lái),在【測(cè)試計(jì)劃】中添加JDBC驅(qū)動(dòng),即下載mysql-connector-bin.jar并添加到classpath中。如下圖所示:
當(dāng)然,如果將這個(gè)jar包直接放在JMeter安裝目錄的lib文件夾中,就無(wú)需在【測(cè)試計(jì)劃】中添加了。
當(dāng)上面的準(zhǔn)備工作完成后,就可以在線程組下添加一個(gè)【配置元件】–【JDBC Connection Configuration】
參數(shù)詳解:
名稱 | 描 述 | 必須 |
---|---|---|
Name | 腳本中顯示的這個(gè)元件的描述性名稱 | 是 |
Variable Name for created pool | 連接所綁定的變量名。可以創(chuàng)建多個(gè)連接,每個(gè)連接綁定到不同的變量名,后續(xù)【JDBC Request】通過(guò)對(duì)應(yīng)variable name使用相應(yīng)的連接 | 是 |
Max Number of Connections | 連接池最大允許連接數(shù)。默認(rèn)設(shè)置為0,代表每個(gè)線程獲得自己的連接池。如果使用共享連接池,將其設(shè)置成與線程數(shù)相同即可 | 是 |
Max Wait (ms) | 超時(shí)時(shí)間。如果嘗試連接的過(guò)程超過(guò)了這個(gè)時(shí)間,則拋出異常并停止連接 | 是 |
Time Between Eviction Runs (ms) | 運(yùn)行狀態(tài)下,空閑對(duì)象回收線程休眠時(shí)間。如果設(shè)為負(fù)數(shù),空閑對(duì)象回收線程將不會(huì)運(yùn)行 | 是 |
Auto Commit | 自動(dòng)提交開(kāi)關(guān),true代表開(kāi)啟 | 是 |
Transaction isolation | 事務(wù)隔離,一般使用默認(rèn)即可 | 是 |
Test While Idle | 當(dāng)連接空閑時(shí)是否進(jìn)行測(cè)試 | 是 |
Soft Min Evictable Idle Time(ms) | 連接可以在池中處于空閑狀態(tài)的最短時(shí)間,超過(guò)這個(gè)時(shí)間的空閑連接才會(huì)被回收 | 是 |
Validation Query | 用于確定數(shù)據(jù)庫(kù)是否仍在響應(yīng)的簡(jiǎn)單查詢 | 否 |
Database URL | 數(shù)據(jù)庫(kù)的JDBC連接串 | 是 |
Username | 數(shù)據(jù)庫(kù)連接的用戶名 | 是 |
Password | 數(shù)據(jù)庫(kù)連接的密碼 | 是 |
添加【JDBC Request】
最終腳本結(jié)構(gòu)完成,運(yùn)行腳本,結(jié)果如下:
再看Debug Sampler中:
可以看到,sql查詢結(jié)果存儲(chǔ)在變量中,例如name的變量,name_#=3,表示sql語(yǔ)句name字段有3個(gè)結(jié)果,name_1、name_2、name_3,在腳本后續(xù)想使用這些值時(shí)用${variable name}引用,例如用${name_1}即可使用"Tom"這個(gè)值。
以上便是JMeter操作mysql數(shù)據(jù)庫(kù)的常規(guī)用法,已經(jīng)能滿足大部分使用情況,畢竟測(cè)試中一般只會(huì)進(jìn)行查庫(kù)操作,很少寫(xiě)庫(kù)。但有時(shí)候我們難免遇到一次性執(zhí)行多種類型sql語(yǔ)句(類似事務(wù))的場(chǎng)景,按照上文中的寫(xiě)法,是實(shí)現(xiàn)不了的。
要實(shí)現(xiàn)這個(gè)功能,有兩種方案,首先看方案一。
【JDBC Connection Configuration】配置頁(yè)面,Database URL:jdbc:mysql://localhost:3306/hkkTest后添加?allowMultiQueries=true
【JDBC Request】的【Query Type】選擇Callable Statement,然后將多條sql語(yǔ)句按順序?qū)懞茫織l語(yǔ)句要以分號(hào)結(jié)尾。
運(yùn)行后,查看結(jié)果:
再說(shuō)方案二。
方案二使用的前提是,mysql服務(wù)器上已經(jīng)建好相應(yīng)的存儲(chǔ)過(guò)程并執(zhí)行,如下例:
delimiter $$; # 存儲(chǔ)過(guò)程后面必須有() CREATE PROCEDURE user_procedure() BEGIN UPDATE test.user SET age=24 WHERE name='Tom'; INSERT INTO test.user(id,name,age,address) VALUES(4,'Lucy',17,'Paris'); INSERT INTO test.user(id,name,age,address) VALUES(5,'Messi',32,'Barcelona'); DELETE FROM test.user WHERE name='Jack'; SELECT * FROM test.user; END $$; delimiter;
然后,【JDBC】中【Query Type】同樣選擇Callable Statement,sql語(yǔ)句只寫(xiě)上調(diào)用存儲(chǔ)過(guò)程的語(yǔ)句即可。
運(yùn)行腳本,查看結(jié)果,可以看到存儲(chǔ)過(guò)程已經(jīng)被執(zhí)行,數(shù)據(jù)庫(kù)數(shù)據(jù)被修改成功:
至此,JMeter操作mysql數(shù)據(jù)庫(kù)的部分完結(jié)。
到此這篇關(guān)于JMeter連接Mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)JMeter連接Mysql 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
你所不知道的Spring的@Autowired實(shí)現(xiàn)細(xì)節(jié)分析
這篇文章主要介紹了你所不知道的Spring的@Autowired實(shí)現(xiàn)細(xì)節(jié)分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08基于Java?Agent的premain方式實(shí)現(xiàn)方法耗時(shí)監(jiān)控問(wèn)題
javaagent是在JDK5之后提供的新特性,也可以叫java代理,這篇文章主要介紹了基于Java?Agent的premain方式實(shí)現(xiàn)方法耗時(shí)監(jiān)控問(wèn)題,需要的朋友可以參考下2022-10-10springmvc4+hibernate4分頁(yè)查詢功能實(shí)現(xiàn)
本篇文章主要介紹了springmvc4+hibernate4分頁(yè)查詢功能實(shí)現(xiàn),Springmvc+hibernate成為現(xiàn)在很多人用的框架整合,有興趣的可以了解一下。2017-01-01spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解
這篇文章主要為大家介紹了spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06java調(diào)用通義千問(wèn)API的詳細(xì)完整步驟
通義千問(wèn)是阿里云自主研發(fā)的大語(yǔ)言模型,能夠在用戶自然語(yǔ)言輸入的基礎(chǔ)上,通過(guò)自然語(yǔ)言理解和語(yǔ)義分析,理解用戶意圖,在不同領(lǐng)域、任務(wù)內(nèi)為用戶提供服務(wù)和幫助,下面這篇文章主要給大家介紹了關(guān)于java調(diào)用通義千問(wèn)API的詳細(xì)完整步驟,需要的朋友可以參考下2024-02-02一篇文章帶你入門(mén)java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫(xiě)運(yùn)行在多個(gè)設(shè)備(計(jì)算機(jī))的程序,這些設(shè)備都通過(guò)網(wǎng)絡(luò)連接起來(lái)。本文介紹了一些網(wǎng)絡(luò)編程基礎(chǔ)的概念,并用Java來(lái)實(shí)現(xiàn)TCP和UDP的Socket的編程,來(lái)讓讀者更好的了解其原理2021-08-08Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動(dòng)力節(jié)點(diǎn)之Java學(xué)院整理)
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組(動(dòng)力節(jié)點(diǎn)之Java學(xué)院整理)的相關(guān)資料,包括創(chuàng)建和內(nèi)存分配,數(shù)組封裝后的使用等,需要的朋友參考下吧2017-04-04