数据库 |
驱动 |
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 |
sqlServer |
com.microsoft.sqlserver.jdbc.SQLServerDriver |
jdbc:sqlserver://host:port;databaseName=databaseName |
一、配置
1. 下载安装驱动包,将mysql-connector-java.jar
方式一:
将jar包放置在jmete安装路径的lib目录下,重启jmeter。
方式二:
在测试计划底部添加jar包即可。
二、JDBC connection configuration 参数配置
1. 添加配置元件
启动jmeter》线程组》配置元件》JDBC connection configuration
2. jdbc参数
1)Variable Name Bound to Pool 连接池变量名
2)Connection Pool Configuration JDBC连接池配置,一般使用默认值就可以
做性能测试时,建议填 0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享。
如果您真的想要使用共享池,那么将max count与线程数相同,以确保线程不会相互等待。
Max Wait (ms) : 在连接池中取回连接最大等待时间。
中文:如果在试图检索连接过程中(取回连接)超过所设置期限,连接池抛出一个错误
如果当前连接池中某个连接在空闲了 time Between Eviction Runs Millis 时间后任然没有使用,则被物理性的关闭掉
1. TRANSACTION_NODE 事务节点 、
2. TRANSACTION_READ_UNCOMMITTED 事务未提交读、
3. TRANSACTION_READ_COMMITTED 事务已提交读 、
4. TRANSACTION_SERIALIZABLE 事务序列化 、
5. DEFAULT 默认、
6. TRANSACTION_REPEATABLE_READ 事务重复读、
7. 编辑
3)Connection Validation by Pool 连接池是否有效 判断,一般使用默认就可以
Test While Idle :当空闲的时候测试连接是否断开
Soft Min Evictable Idle Time(ms) :默认值为5000(5秒)
中文:最少的时间连接可能在池中闲置,然后才有资格被闲置的对象驱逐出去,额外的条 件是至少在池中保持连接。
Validation Query:简单的查询,用于确定数据库是否仍在响应。默认为jdbc驱动程序的 isValid() 方法,适用于许多数据库。
4))Database Connection Configuration 数据库配置
Database URL:jdbc:mysql://服务器地址:3306/数据库名
比如: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
备注:
allowMultiQueries=true:是为了在JDBC中执行多条select语句的时候用的!
serverTimezone=UTC:设置时区(有时不设置时区会报错)
characterEncoding=utf8:设置字符编码
autoReconnect=true:设置自动重连
useUnicode=true:使用Unicode编码
JDBC Driver class:数据库JDBC驱动类名:com.mysql.jdbc.Driver
Username:数据库连接用户名
password:数据库连接密码
Connection Properties: 建立连接时要设置的连接属性
三、JDBC Request 参数配置
线程组》添加》取样器
Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query Type:设置sql语句类型。
-Select Statement:1条查询sql
- Update Statement :1条sql (插入和删除)
- Callable Statement:多条查询sql
- Prepared SelectStatement:多条查询sal
- Prepared Update Statement-:多条sql(插入和删除)
- Commit:
- RollbackAutocommit(false):
- Autocommit(true):
- Edit: 这应该是一个变量引用,它的值应该等于上面的值之一。
Query:填写的sql语句
Parameter valus:参数值(sql语句参数化的时候使用)
Parameter types:参数类型,可参考:Javadoc for java.sql.Types(字段类型,与参数值一一对应)
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
原文:https://www.cnblogs.com/hxl23633/p/14666807.html