jmeter壓測

Jmeter本身是不能夠展示內(nèi)存,cpu和吞吐量的,但是可以通過添加插件的方式來對jmeter添加這些功能

Jmeter常用插件介紹

JMeter之ServerAgent監(jiān)控資源

一、 數(shù)據(jù)庫壓測

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

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

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

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

2.1 JDBC配置

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

image.png

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

image.png

VariableNameforcreated pool: 創(chuàng)建池的變量名 。這個變量在后面介紹的JDBCRequest請求中用到。MaxNumberofConnections: 池中允許的最大連接數(shù)。在大多數(shù)情況下,將其設(shè)置為零(0),這意味 著每個線程都將擁有自己的池,其中只有一個連接,即線程之間不共享連接。如果您真的想使用共享池,那么 將 max count 設(shè)置為與線程數(shù)量相同,以確保線程不會彼此等待。MaxWait(ms):在試圖檢索連接的過程中超過了超時時間,則池會拋出一個錯誤 。TimeBetweenEvictionRuns(ms):在被逐出的時間間隔(ms)。在空閑對象驅(qū)逐線程之間運(yùn)行的毫 秒數(shù)。當(dāng)非正的時候,就不會運(yùn)行無用的對象驅(qū)逐線程(默認(rèn)為"60000",1分鐘) 。AutoCommit:將自動提交或關(guān)閉連接到連接上 。 transaction isolation:事務(wù)隔離 。這個默認(rèn)即可,具體用法暫時還沒有研究過,會的可以分享一下。TestWhileIdle:測試池的空閑連接 ,后面的驗(yàn)證查詢將用于測試它。SoftMinEvictableIdleTime(ms):軟Min可驅(qū)逐空閑時間(ms) 。在它有資格被閑置的對象驅(qū) 逐者強(qiáng)制驅(qū)逐之前,一個連接可能閑置在池中,并且至少在池中存在空閑連接的額外條件,默認(rèn)值為5000(5秒) 。ValidationQuery:驗(yàn)證查詢 。一個簡單的查詢,用來確定數(shù)據(jù)庫是否仍在響應(yīng)。 這個驗(yàn)證查詢在池創(chuàng) 建中使用,即使“空閑測試”建議查詢只在空閑連接上使用,也可以驗(yàn)證它。DatabaseURL:數(shù)據(jù)鏈接url,格式:jdbc:mysql://localhost:3306/host 注釋:數(shù)據(jù)庫的ip地址+端口/數(shù)據(jù)庫名(查詢數(shù)據(jù)庫端口號show global variables like'port') jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC&allowMultiQueries=trueJDBCDriverclass:JDBC驅(qū)動程序類 。MySql選擇 com.mysql.jdbc.DriverUsername:連接數(shù)據(jù)庫的用戶名。Password:連接數(shù)據(jù)庫的密碼。

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

image.png

image.png

image.png

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

image.png

2.3 select statement

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

//如果多條會報錯,修改,但是仍然只能查詢到一條數(shù)據(jù)allowMultiQueries=true

2.4 updata statement

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

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

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

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

同時新增支持和修改語句

支持多條語句,但是select只能放最后一行

2.5 Callable Statement

支持查詢、修改

支持多個查詢

2.6 Prepared Select Statement

image.png

注意:類型必須為varchar

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

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

image.png

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

image.png

引用變量值${id}

image.png

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

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

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

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

二、 jmeter對服務(wù)器壓測(Windows)

在使用Jmeter工具進(jìn)行性能測試或者壓力測試的時候要對服務(wù)器的資源進(jìn)行監(jiān)控,如cup的使用情況、服務(wù)器的內(nèi)存資源等,這個時候我們就需要配置一下相關(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)聽

image.png

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

image.png

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

image.png

二、 jmeter對服務(wù)器壓測(Linux)

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

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ù)端口號默認(rèn)為4444,需要設(shè)置防火墻對此端口不攔截:

開放Linux的對外訪問的端口4444

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

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

./startagent.sh

4. 修改JDBC Connection Configuration中配置

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

作者:Anwfly

鏈接:http://www.itdecent.cn/p/f498b1a764ce

來源:簡書

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

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

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

  • Jmeter本身是不能夠展示內(nèi)存,cpu和吞吐量的,但是可以通過添加插件的方式來對jmeter添加這些功能Jmet...
    Anwfly閱讀 1,713評論 0 2
  • Jmeter本身是不能夠展示內(nèi)存,cpu和吞吐量的,但是可以通過添加插件的方式來對jmeter添加這些功能 Jme...
    九櫻MOL閱讀 174評論 0 0
  • 一、 數(shù)據(jù)庫壓測 1. 為什么要進(jìn)行數(shù)據(jù)庫壓測 不斷給數(shù)據(jù)庫施加壓力,驗(yàn)證數(shù)據(jù)庫處理的性能 2. 如何進(jìn)行數(shù)據(jù)庫壓...
    Dovis_911b閱讀 198評論 0 0
  • 目錄 JMeter基礎(chǔ)功能回顧 被壓測實(shí)戰(zhàn)應(yīng)用簡介與搭建 壓測腳本的編寫 壓測實(shí)施簡介與后續(xù)安排 一、JMeter...
    InsaneLoafer閱讀 3,759評論 1 2
  • 一、 數(shù)據(jù)庫壓測 1. 為什么要進(jìn)行數(shù)據(jù)庫壓測 不斷給數(shù)據(jù)庫施加壓力,驗(yàn)證數(shù)據(jù)庫處理的性能 2. 如何進(jìn)行數(shù)據(jù)庫壓...
    KiKi_2005A閱讀 262評論 0 0

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