关系型数据库在jmeter的jdbc中的database url怎么写
关系型数据库:
1.mysql:
方式:Database URL:jdbc:mysql://localhost:port/DBname?user=**&password=**&allowMultiQueries=true
JDBC Driver class:com.mysql.jdbc.Driver
需要用到的第三方包:mysql-connector-java-5.1.39-bin.jar
2.sqlserver
方式:Database URL:jdbc:sqlserver://localhost:port;databaseName=***
JDBC Driver class:com.microsoft.sqlserver.jdbc.SQLServerDriver
数据库测试需要加载JDBC驱动,JDBC配置,JDBC请求
前提条件,驱动包mysql-connector-java-5.1.38-bin.jar要放到本机Java路径:C:\Program Files\Java\jdk1.8.0_73\jre\lib\ext下,并且配置之后,重新启动JMeter。
一、JDBC配置 JDBCConnection Configuration:
右键“线程组”->添加->配置原件->JDBC Connection Configuration
Variable Name: 变量名称,需要变量名绑定到池。需要唯一标识。与JDBC取样器中的相对应,决定JDBC取样的配置。简单理解就是在JDBC request的时候确定去哪个绑定的配置。
MaxNumber of Connection: 数据库最大链接数
PoolTimeout: 数据库链接超时,单位ms
Idle Cleanup Interval (ms): 数据库空闲清理的间隔时间,单位ms
Auto Commit:自动提交。有三个选项,true、false、编辑(自己通过jmeter提供的函数设置)
Transaction Isolation:
事务间隔级别设置,主要有如下几个选项:(对JMX加解密)
【TRANSACTION_NODE 事务节点 、
TRANSACTION_READ_UNCOMMITTED事务未提交读、
TRANSACTION_READ_COMMITTED事务已提交读 、
TRANSACTION_SERIALIZABLE事务序列化 、
DEFAULT默认、
TRANSACTION_REPEATABLE_READ事务重复读、
编辑】
Keep-Alive: 是否保持连接
Max Connection age (ms):最大连接时长,超过时长的会被拒绝
Validation Query:验证查询,检验连接是否有效(数据库重启后之前的连接都失效,需要验证查询)
。。。。。。
Database URL:如jdbc:mysql://localhost:3306/test 表示本地数据库,3306端口,数据库名称为test
JDBCDriver Class: JDBC的类,如org.gjt.mm.mysql.Driver
原文:http://jingyan.baidu.com/article/7082dc1c52e814e40a89bdca.html
二、数据库性能测试实例
【一】插入数据
步骤一:添加驱动包
步骤二:配置JDBC Connection Configuration
步骤三:JDBC Request配置
步骤四:添加监听器,运行,查看结果即可。
mysql的jdbc.url携带allowMultiQueries=true参数的作用及其原理
如下配置
jdbc.url=jdbc:mysql://127.0.0.1:3306/chubb_2?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
allowMultiQueries=true参数的作用:
①可以在sql语句后携带分号,实现多语句执行。
如:mybatis的mapper.xml文件
<select id="getAll" resultType="com.xxx.XBean"> SELECT * FROM x; </select>
②可以执行批处理,同时发出多个SQL语句。
<update id="batchUpdate" parameterType="java.util.List"> <foreach collection="devRelDOList" item="devRelDO" separator=";" open="" close="" > UPDATE dev_rel <set> gmt_modified=now(), pro_id = #{devRelDO.proId}, dev_id = #{devRelDO.devId}, group_id = #{devRelDO.groupId}, own_type = #{devRelDO.ownType} </set> <where> id = #{devRelDO.id} </where> </foreach> </update>
底层原理:
参考:
https://my.oschina.net/zhuguowei/blog/411853
https://blog.csdn.net/xuezhezhishen/article/details/78692698
https://my.oschina.net/freedemon/blog/1813816
https://www.cnblogs.com/jeffen/p/6038261.html
https://blog.csdn.net/qq_26718271/article/details/65629805