一.測試環(huán)境準(zhǔn)備
Oracle:10g
JDBC驅(qū)動:classes12.jar
oracle安裝目錄下(oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar)文件復(fù)制到JMeter/lib目錄下
JMeter:jmeter-2.11
二.設(shè)計測試計劃并運行
1.打開JMeter,點擊測試計劃
點擊“瀏覽...”按鈕,將你的JDBC驅(qū)動添加進來。
2.添加一個線程組,右鍵點擊“線程組”,在下面添加一個“JDBC Connection Configuration”

來配置一下JDBC Connection Configuration頁面。

Pool Timeout:連接超時可以修改此時間
3.右鍵點擊“線程組”,在下面添加一個“JDBC request”。
需要修改的參數(shù)包括Variable Name,要與上面的 JDBC Connection
Configuration填寫同樣的內(nèi)容,如此處的:oracleConn。這里表示 JDBC Connection
Configuration建立一個名為Oracle 的連接池,之后其它的JDBC Request都共用這個連接池.

注意:SQL語句中,可以使用參數(shù)化.插入語句中的值也能參數(shù)化,如下圖:

注意:SQL語句后面不可能添加分號,否則報語法錯誤.
4.添加斷言,右鍵點擊線程組---->添加--->斷言---->響應(yīng)斷言。
5.我們來添加一些監(jiān)聽器來行查看:
添加一個斷言結(jié)果:右鍵點擊線程組---->添加--->監(jiān)聽器---->結(jié)果斷言。
添加一個圖形結(jié)果:右鍵點擊線程組---->添加--->監(jiān)聽器---->圖形結(jié)果。
添加一個查看結(jié)果樹:右鍵點擊線程組---->添加--->監(jiān)聽器---->查看結(jié)果樹。
下面是添加所有的列表:

6.在線程組頁面設(shè)置用戶數(shù)、啟動時間、循環(huán)次數(shù),再點擊菜單欄“運行”----“啟動”
下面是結(jié)果:

至此,Jmeter進行壓力測試就到此為此了,具體還要根據(jù)實際的項目來進行實施。
備注:Assertion Results對Jmeter壓測的throughout有嚴(yán)重的影響。
三.遇到的問題
1、出現(xiàn):java.sql.SQLException:?No?suitable?driver?found?for?jdbc:oracle:thin:@127.0.0.1:1521:ORCL錯誤解決
原來是因為沒有加載包的緣故
解決方法:關(guān)閉jmeter,然后將class12.jar(電腦上搜索一下classes12.jar這個文件)復(fù)制到j(luò)meter目錄下面的lib目錄中,重新啟動運行即可。
2、連接MySQL數(shù)據(jù)庫時,出現(xiàn):com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:?Unknown?character?set:?'utf8mb4'錯誤
看起來似乎是設(shè)置字符的問題,后來在JDBC連接配置那里將Database?URL加上字符編碼即可(?characterEncoding=UTF-8)
jdbc:mysql://127.0.0.1:3306/paydb?characterEncoding=UTF-8
3、出
現(xiàn):org.apache.avalon.excalibur.datasource.NoAvailableConnectionException:?Could?not?create?enough?Components?to?service?your?request?(Timed?out).
解決方法:出現(xiàn)這個原因是因為連接超時,增大Pool?TimeOUT就可以了。
4、執(zhí)行時提示:ORA-00911: invalid character。
解決方法:確保你在JDBC Request里面的Query中輸入的SQL語句是正確的。注意:SQL語句后面不要添加分號。
四.驅(qū)動類
不同的驅(qū)動類對應(yīng)的jar不同,一定要注意,下面介紹下:MSSQL下載sqljdbc4.jar放在apache-jmeter-2.6\lib下面
Datebase
Driver class
Database URL
MySQL
com.mysql.jdbc.Driver
jdbc:mysql://host:port/{dbname}
PostgreSQL
org.postgresql.Driver
jdbc:postgresql:{dbname}
Oracle
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:user/pass@//host:port/service
Ingres (2006)
ingres.jdbc.IngresDriver
jdbc:ingres://host:port/db[;attr=value]
MSSQL
com.microsoft.sqlserver.jdbc.SQLServerDriver
或者
net.sourceforge.jtds.jdbc.Driverjdbc:sqlserver://IP:1433;databaseName=DBname
或者
jdbc:jtds:sqlserver://localhost:1433/"+"library"
五.附上所用的jar包