外贸网站特效,专做网站公司,软件开发培训机构去学,苏中建设 网站1.环境部署
1.1官网下载MySQL Connector
https://dev.mysql.com/downloads/connector/j/ 1.2 解压后#xff0c;将jar放到jmeter/lib目录下 1.3 在测试计划中添加引用 2.脚本设置
2.1设置JDBC Connection Configuration
先添加一个setUp线程中#xff0c;在setUp中添加“…1.环境部署
1.1官网下载MySQL Connector
https://dev.mysql.com/downloads/connector/j/ 1.2 解压后将jar放到jmeter/lib目录下 1.3 在测试计划中添加引用 2.脚本设置
2.1设置JDBC Connection Configuration
先添加一个setUp线程中在setUp中添加“配置元件”-JDBC Connection Configuration 注当然你也可以根据测试需求在执行线程组中添加JDBC Connection Configuration放在setUp中主要是为了避免每次迭代都重新创建链接 在Variable Iame for created pool中写入创建链接的引用名后续使用此名称
在Database Connection Configuration 中写入链接数据库信息 Database URL数据库连接 URL JDBC Driver class 数据库驱动 Username 数据库登录用户名 Password 数据库登录密码 Connection Properties 建立连接时要设置的连接属性 数据库 驱动 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;databaseNamedatabaseName
还可以根据自己需求自定义其他参数 2.2 设置 JDBC Request 2.2.1 参数说明
Variable Name填写前面创建的数据库连接池的名字Query type填写的sql语句Parameter valus参数值Parameter types参数类型可参考Javadoc for java.sql.TypesVariable names保存sql语句返回结果的变量名Result variable name创建一个对象变量保存所有返回的结果Query timeout查询超时时间Handle result set定义如何处理由callable statements语句返回的结果
2.2.2 Query type 参数设置
Select statement查询语句只能进行一条sql语句的查询callable statement如果需要进行多条sql语句的查询Update Statement这是一条更新语句包含insert和update也是只能进行一条sql语句的查询Prepared Select Statement用于多次执行的select语句prepared select用于绑定变量重用执行计划对于多次执行的SQL语句prepared select 的第一次执行消耗很高它的性能主要体现在重复执行上Prepared Update Statement和我们的prepared select用法极为类似Commit将未存储的SQL语句写入数据库使用不多
2.2.3 Parameter valus的使用
在sql query中使用”“作为占位符并传递参数值和参数类型 3.获取返回值
3.1 通过参数名获取
当Variable names中设置了参数名可以使用参数名获取参数值
keyA_# 获取A列总行数keyA_1 获取A列第一个值keyA_2 获取A列第二个值keyB_2 获取B列第二个值...
执行时直接引用参数名 def key_all vars.get(row_key_#)
log.info(总行数 key_all)
def key_1 vars.get(row_key_1)
3.2 for each 遍历 请求中引用输出变量名${F_row_key} 输出 4.记录一个坑
设置唯一数时使用jmeter计数器设置自增规则后在JSR223中引用 4.1原始JSR脚本报错
直接引用以${}形式引用${P_select}
def P_select ${P_select}
log.info(当前key P_select)
导致${P_select}计数器在执行取值阶段数据异常并没有按照预想递增方式取值
5并发演示
以线程1-3为例所以迭代取值都为key 16 4.2 修改后JSR
使用vars方式取值
def P_select vars.get(P_select)
log.info(当前key P_select)
能够按照设定依次递增取值 5.补充
跨线程组传参 线程组1
props.put(P_row_pk,row_pk)线程组2接收
String props_pk props.get(P_row_pk) 数据库修改链接数
查询容器
docker ps
进入容器或进入MySQL安装目录
sodo docker exec -it mysql bash
连接MySQL
mysql -u root -ppassword -h localhost
查询当前连接数
SHOW VARIABLES LIKE MAX%;
修改连接数
set global max_connections 151