2022-03-26

數(shù)據(jù)庫(kù)壓測(cè)

1. 為什么要進(jìn)行數(shù)據(jù)庫(kù)壓測(cè)

不斷給數(shù)據(jù)庫(kù)施加壓力,驗(yàn)證數(shù)據(jù)庫(kù)處理的性能

2.? 如何進(jìn)行數(shù)據(jù)庫(kù)壓測(cè)

測(cè)試的過程中酗宋,我們經(jīng)常要對(duì)數(shù)據(jù)庫(kù)表數(shù)據(jù)進(jìn)行查詢遣妥、修改、添加等操作谈跛。在用 JMeter 做性能或者接口等 測(cè)試時(shí)羊苟,也可以讓 JMeter 連接數(shù)據(jù)庫(kù)然后對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行相關(guān)操作。下面先來學(xué)習(xí)如何使用 JMeter 連接 MySql 數(shù)據(jù)庫(kù)進(jìn)行操作感憾。

2.1 JDBC配置

首先創(chuàng)建一個(gè)測(cè)試計(jì)劃和線程組蜡励,然后在線程組下添加配置元件 JDBC Connection Configuration 。

接下來要對(duì)數(shù)據(jù)庫(kù)連接的配置項(xiàng)進(jìn)行設(shè)置阻桅。

VariableNameforcreated pool: 創(chuàng)建池的變量名 凉倚。這個(gè)變量在后面介紹的JDBCRequest請(qǐng)求中用到。MaxNumberofConnections: 池中允許的最大連接數(shù)鳍刷。在大多數(shù)情況下占遥,將其設(shè)置為零(0),這意味 著每個(gè)線程都將擁有自己的池输瓜,其中只有一個(gè)連接瓦胎,即線程之間不共享連接。如果您真的想使用共享池尤揣,那么 將 max count 設(shè)置為與線程數(shù)量相同搔啊,以確保線程不會(huì)彼此等待。MaxWait(ms):在試圖檢索連接的過程中超過了超時(shí)時(shí)間北戏,則池會(huì)拋出一個(gè)錯(cuò)誤 负芋。TimeBetweenEvictionRuns(ms):在被逐出的時(shí)間間隔(ms)。在空閑對(duì)象驅(qū)逐線程之間運(yùn)行的毫 秒數(shù)嗜愈。當(dāng)非正的時(shí)候旧蛾,就不會(huì)運(yùn)行無用的對(duì)象驅(qū)逐線程(默認(rèn)為"60000",1分鐘) 蠕嫁。AutoCommit:將自動(dòng)提交或關(guān)閉連接到連接上 锨天。 transaction isolation:事務(wù)隔離 。這個(gè)默認(rèn)即可剃毒,具體用法暫時(shí)還沒有研究過病袄,會(huì)的可以分享一下搂赋。TestWhileIdle:測(cè)試池的空閑連接 ,后面的驗(yàn)證查詢將用于測(cè)試它益缠。SoftMinEvictableIdleTime(ms):軟Min可驅(qū)逐空閑時(shí)間(ms) 脑奠。在它有資格被閑置的對(duì)象驅(qū) 逐者強(qiáng)制驅(qū)逐之前,一個(gè)連接可能閑置在池中幅慌,并且至少在池中存在空閑連接的額外條件宋欺,默認(rèn)值為5000(5秒) 。ValidationQuery:驗(yàn)證查詢 欠痴。一個(gè)簡(jiǎn)單的查詢迄靠,用來確定數(shù)據(jù)庫(kù)是否仍在響應(yīng)。 這個(gè)驗(yàn)證查詢?cè)诔貏?chuàng) 建中使用喇辽,即使“空閑測(cè)試”建議查詢只在空閑連接上使用掌挚,也可以驗(yàn)證它。DatabaseURL:數(shù)據(jù)鏈接url菩咨,格式:jdbc:mysql://localhost:3306/host 注釋:數(shù)據(jù)庫(kù)的ip地址+端口/數(shù)據(jù)庫(kù)名(查詢數(shù)據(jù)庫(kù)端口號(hào)show global variables like'port') jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC&allowMultiQueries=trueJDBCDriverclass:JDBC驅(qū)動(dòng)程序類 吠式。MySql選擇 com.mysql.jdbc.DriverUsername:連接數(shù)據(jù)庫(kù)的用戶名。Password:連接數(shù)據(jù)庫(kù)的密碼抽米。

2.2 設(shè)置完成后特占,接下來在線程組下創(chuàng)建一個(gè) JDBC Request 請(qǐng)求。

接著在 JMeter 中添加一個(gè)查看結(jié)果樹監(jiān)聽器云茸,運(yùn)行一次腳本是目。

2.3 select statement

只支持單條查詢,只支持第一條數(shù)據(jù)查詢

//如果多條會(huì)報(bào)錯(cuò)标捺,修改懊纳,但是仍然只能查詢到一條數(shù)據(jù)allowMultiQueries=true

2.4 updata statement

修改數(shù)據(jù)

//首先修改查詢類型Updata S、tatementupdata stusetname="大飛"whereid=1;

新增數(shù)據(jù)

//首先修改查詢類型updata statementinsertinto

同時(shí)新增支持和修改語(yǔ)句

支持多條語(yǔ)句亡容,但是select只能放最后一行

2.5 Callable Statement

支持查詢嗤疯、修改

支持多個(gè)查詢

2.6 Prepared Select Statement

注意:類型必須為varchar

結(jié)合CSV處理多條查詢

創(chuàng)建文件數(shù)據(jù):

添加CSV數(shù)據(jù)文件設(shè)置,并編寫對(duì)應(yīng)的變量:

引用變量值${id}

結(jié)合函數(shù)助手多條查詢

創(chuàng)建文件編寫數(shù)據(jù)

在選項(xiàng)中添加函數(shù)助手闺兢,選擇csvread函數(shù)茂缚,填寫路徑索引,拿到對(duì)應(yīng)的字符串

講拿到的字符串當(dāng)成值進(jìn)行傳遞

二屋谭、 jmeter對(duì)服務(wù)器壓測(cè)(Windows)

在使用Jmeter工具進(jìn)行性能測(cè)試或者壓力測(cè)試的時(shí)候要對(duì)服務(wù)器的資源進(jìn)行監(jiān)控脚囊,如cup的使用情況、服務(wù)器的內(nèi)存資源等桐磁,這個(gè)時(shí)候我們就需要配置一下相關(guān)插件進(jìn)行監(jiān)控悔耘。

1. 資源準(zhǔn)備

插件:JMeterPlugins-Extras.jar、JMeterPlugins-Standard.jar

將JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar放到apache-jmeter-3.0\lib\ext目錄下

服務(wù):ServerAgent-2.2.1

2. 先在服務(wù)器上開啟server的監(jiān)聽

3. 給服務(wù)器(用本地?cái)?shù)據(jù)庫(kù)模擬服務(wù)器)添加監(jiān)聽器-jp@gc - PerfMon Metrics Collector

4. 添加性能指標(biāo)所意,線程組設(shè)置線程數(shù)和時(shí)間

二淮逊、 jmeter對(duì)服務(wù)器壓測(cè)(Linux)

很多服務(wù)都是部署在Linux上 的,所以我們要在Linux上做服務(wù)器壓測(cè)扶踊。

1. 資源準(zhǔn)備

將JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar放到apache-jmeter-3.0\lib\ext目錄下

將ServerAgent-2.2.1放到linux服務(wù)器opt目錄下泄鹏,并解壓unzip

2. 環(huán)境準(zhǔn)備

ServerAgent服務(wù)端口號(hào)默認(rèn)為4444,需要設(shè)置防火墻對(duì)此端口不攔截:

開放Linux的對(duì)外訪問的端口4444

/sbin/iptables-I INPUT-p tcp--dport4444-j ACCEPT/etc/rc.d/init.d/iptables save---將修改永久保存到防火墻中

3. 然后在服務(wù)器中啟動(dòng)監(jiān)控服務(wù)

./startagent.sh

4. 修改JDBC Connection Configuration中配置

本地地址改為遠(yuǎn)程地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秧耗,一起剝皮案震驚了整個(gè)濱河市备籽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌分井,老刑警劉巖车猬,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異尺锚,居然都是意外死亡珠闰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門瘫辩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伏嗜,“玉大人,你說我怎么就攤上這事伐厌〕谐瘢” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵挣轨,是天一觀的道長(zhǎng)军熏。 經(jīng)常有香客問我,道長(zhǎng)卷扮,這世上最難降的妖魔是什么荡澎? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮画饥,結(jié)果婚禮上衔瓮,老公的妹妹穿的比我還像新娘。我一直安慰自己抖甘,他們只是感情好热鞍,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衔彻,像睡著了一般薇宠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上艰额,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天澄港,我揣著相機(jī)與錄音,去河邊找鬼柄沮。 笑死回梧,一個(gè)胖子當(dāng)著我的面吹牛废岂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狱意,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼湖苞,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了详囤?” 一聲冷哼從身側(cè)響起财骨,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藏姐,沒想到半個(gè)月后隆箩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡羔杨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年捌臊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兜材。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娃属,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出护姆,到底是詐尸還是另有隱情矾端,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布卵皂,位于F島的核電站秩铆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灯变。R本人自食惡果不足惜殴玛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望添祸。 院中可真熱鬧滚粟,春花似錦、人聲如沸刃泌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)耙替。三九已至亚侠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俗扇,已是汗流浹背硝烂。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铜幽,地道東北人滞谢。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓串稀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親狮杨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厨诸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 首先配置反向代理前已經(jīng)要把之前配置過的偽靜態(tài)刪除掉,不然保存的時(shí)候報(bào)錯(cuò)以下是反向代理的完整配置,請(qǐng)注意其中的端口號(hào)...
    黑鳳梨_be60閱讀 108評(píng)論 0 0
  • Jmeter本身是不能夠展示內(nèi)存,cpu和吞吐量的禾酱,但是可以通過添加插件的方式來對(duì)jmeter添加這些功能 Jme...
    九櫻MOL閱讀 155評(píng)論 0 0
  • Jmeter本身是不能夠展示內(nèi)存,cpu和吞吐量的绘趋,但是可以通過添加插件的方式來對(duì)jmeter添加這些功能Jmet...
    SONY3閱讀 248評(píng)論 0 2
  • 一颤陶、數(shù)據(jù)庫(kù)壓測(cè) 1. 為什么要進(jìn)行數(shù)據(jù)庫(kù)壓測(cè) 不斷給數(shù)據(jù)庫(kù)施加壓力,驗(yàn)證數(shù)據(jù)庫(kù)處理的性能 2. 如果進(jìn)行數(shù)據(jù)庫(kù)壓測(cè)...
    小Ai826閱讀 265評(píng)論 0 0
  • Jmeter本身是不能夠展示內(nèi)存陷遮,cpu和吞吐量的滓走,但是可以通過添加插件的方式來對(duì)jmeter添加這些功能 Jme...
    淺色年華_7d4f閱讀 268評(píng)論 0 0