下面主要针对测试mysql的性能,如每秒往数据库插入1000条数据,查看数据库的性能
1、创建一个测试计划,如图所示,导入数据库驱动jar包
下载地址:http://www.mysql.com/downloads/connector/j
2、添加线程组,设置线程数、启动时间、循环次数
3、选中线程组,右击->配置元件->JDBC Connection Configuration,设置数据库信息,其他默认
如果Variable Name填写的话,对应的JDBC Request-Variable Name也要填写对应的。
数据库驱动类和URL格式:
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:@//host:port/service OR
jdbc:oracle:thin:@(description=(address=(host={mc-name}) (protocol=tcp)(port={port-no}))(connect_data=(sid={sid}))) |
Ingres (2006) | ingres.jdbc.IngresDriver | jdbc:ingres://host:port/db[;attr=value] |
MSSQL | com.microsoft.sqlserver.jdbc.SQLServerDriver
或者 net.sourceforge.jtds.jdbc.Driver |
jdbc:sqlserver://IP:port;databaseName=DBname
或者 jdbc:jtds:sqlserver://localhost:1433/”+”library” |
4、选中线程组,右击->sampler->JDBC Request,选择更新模式,设置SQL语句及参数数据,写语句时注意前提:数据库已存在该表及字段。
Query Type选择
Select Statement:查询语句,下面参数不需要填写
Update Statement:更新语句,下面参数不需要填写
Callable Statement:执行存储过程
Prepared Select Statement:预查询语句,在sql quety中使用“?”作为占位符,并传递参数值和参数类型
Prepared Update Statement:预更新语句,在sql quety中使用“?”作为占位符,并传递参数值和参数类型
Commit:提交
Rollback:回滚
AutoCommit(false):自动提交(否)
Query:输入需要执行的sql语句,末尾不需加”;”
Parameter valus:参数值
Parameter types:参数类型
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
5、查询操作可以添加断言,选中线程组,右击->断言->响应断言,点击添加,输入需要断言的内容(可忽略)
6、添加监听器:选中线程组,右击->监听器->察看结果树、图形结果以及断言结果
7、启动,查看运行结果,也可在命令端查看数据库数据变化及性能响应
查看数据库被插入了多少条数据:select count(*) from tablename;
♥Tips:sql语句的参数化
如果有多条sql语句,把整条sql语句当作参数,然后把多条sql语句放在csv文件中,然后在JDBC Request的Query中使用参数代替sql语句,参数书写的格式:${SQL_Statement}