Jmeter組件7. JDBC Connection Configuration & JDBC Request


Jmeter同樣可以測試數據庫的性能,通過執行增刪改查的語句,以下舉的是oracle的例子

Step 1: 下載ojdbc14.jar包放到Jmeter lib包中,在test plan中配置,並且重啟Jmeter

Step 2:配置JDBC Connection Configuration

Variable Name,數據庫連接池的變量名,之后JDBC request可以通過選擇不同的連接池名來選擇不同的數據庫連接

Max Number of Connections,該數據庫連接池的最大連接數,一般設置為0,意思是每個線程都使用單獨的數據庫連接,線程之間數據庫連接不共享

下面這塊,是Jmeter用來檢驗數據庫連接是否有效的一種機制,超過5秒沒有使用的話,就會用validation query去測試下這個連接是否有效

Database URL,jdbc:oracle:thin:@//hostname:port/sid 前面的jdbc:oracle:thin:@部分是固定的

JDBC Driver class,oracle固定為oracle.jdbc.OracleDriver,其他數據庫可以查看幫助

Step 3:建立一個JDBC Request組件 

目前JDBC Request可以發送的請求類型有

  • Select Statement
  • Update Statement - use this for Inserts and Deletes as well
  • Callable Statement
  • Prepared Select Statement
  • Prepared Update Statement - use this for Inserts and Deletes as well
  • Commit
  • Rollback
  • Autocommit(false)
  • Autocommit(true)
  • Edit - this should be a variable reference that evaluates to one of the above

我這里舉了一個存儲過程的例子

首先Variable Name要寫之前創建好的數據庫連接池的名字

SQL Query部分,選擇Query Type為callable statement,語句中用問號作為占位符,代替傳入的參數

然后在Parameter value里面設置傳入的值,這里也可以用變量,即可以讀csv文件里的值,比較靈活,但是千萬要記得在下面一行Parameter Types里面配置好相應的類型,否則會報錯

Variable Name,可以用來存儲查詢的值,例如你查詢select * from tableA,返回三行三列,你在Variable Name里面寫A,,C,那么會返回如下值,第二列由於沒有變量名,所以不會被存儲,不過需要一個空占位符

A_#=2 (number of rows)
A_1=column 1, row 1
A_2=column 1, row 2
C_#=2 (number of rows)
C_1=column 3, row 1
C_2=column 3, row 2

Result Variable name,用法 columnValue = vars.getObject("resultObject").get(0).get("Column Name"); 將結果集存儲在一個對象中,然后按照行號加列名去取值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM