前置条件
以mysql为例进行讲解,前置:需将mysql-connector-java-X.X.X-bin.jar拷贝到Jmeter根目录的lib目录下
创建线程组
添加JDBC连接配置 右键→Add→ Configuration Element→ JDBC Connection Configuration
属性名描述
Variable name for created pool:唯一标识待链接DB的配置,用于定义JDBC请求中的配置信息
Max Number of Connections:最大连接数(连接池的配置)
Max Waits(ms):最长等待时间(连接池的配置)
Time Between Eviction Runs(ms):在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位.如果设置为非正数,则不运行空闲连接回收器线程
Auto Commit:自动提交 true 或false(连接池的配置)
Transaction Isolation:事务隔离级别(连接池的配置)
Database URLjdbc:mysql://XXXXXX:3306/cloud
DBC Driver class:com.mysql.jdbc.Driver
Username:用户名
Password:密码
创建JDBC请求
执行操作:Add → Sampler → JDBC Request
针对Sql Query中的query type:对于Insert、Update、Delete语句,需要设置Query Type为:Update Statement 否则会出现实际表中未插入数据的情况
属性名描述
Variable name:需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
Query:填写的sql语句未尾不要加“;”
Parameter valus:参数值
Parameter types:参数类型Javadoc for java.sql.Types
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
JDBC请求参数化
在测试计划中定义变量,在sql query中通过${变量名}引用变量
在sql query中通过?作为占位符,传递参数值与参数类型;变量使用${xxxxxx}
添加吞吐量控制器
进行分布式加压策略: add-> 选择Logic Controller -> Throughput Controller
Throughput Controller中的througput设置为该线程组中的针对该接口的请求数占比
具体参见 Test-distribute.jmx 被注释掉的Thread Group是采用非分布式方式加压进行的
网友评论