失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Jmeter性能测试工具实现对数据库mysql进行连接并压测

Jmeter性能测试工具实现对数据库mysql进行连接并压测

时间:2019-04-30 05:06:11

相关推荐

Jmeter性能测试工具实现对数据库mysql进行连接并压测

Jmeter性能测试工具实现对数据库mysql进行连接并压测

一、准备工作:

1、查看已安装的mysql版本

方法1:直接输入:select version() 语句查询。

方法2:直接选中数据库,鼠标右键,查看连接信息,里面就包括mysql版本。

2、准备与mysql版本匹配的 JDBC驱动:

由于我的mysql版本是5.6.19-log版本,所以我对应的JDBC驱动版本用5.1.7版本。JDBC驱动可以在mysql的官网下载。

3、将下载后的JDBC驱动解压,把mysql-connector-java-5.1.7-bin.jar 复制粘贴到jmeter安装目录的bin文件下:

或者,放到java安装目录 \jre\lib\ext 下。

**

二、开始使用jmeter测试工具:

1、启动jmeter,在测试计划(Test plan)下,将jdbc驱动加载进来,如下图

2、添加 测试计划-线程组

3、添加配置元件- JDBC Connection Configuration

1)variable name bound to pool:

设置变量名称,一般设置为数据库名称;

2)Connection pool Configuration:

①设置Max number of connection: 0

Max number of connection,该数据库连接池的最大连接数,一般可设置为0,意思是每个线程都使用单独的数据库连接,线程之间数据库连接不共享。如果您真的想要用共享池,那么将Max number of connection设置为与线程数相同,以确保线程不会相互等待。

②设置Validation Query: select 1

validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条结果的SELECT语句。

每种数据库都有各自的验证语句,下表中从网上收集了几种常见数据库的validation Query。

③其它的按默认就行。

3)Database connection Configuration:

第一步:设置Database URL:jdbc:mysql://localhost:3306/vcm_abc?serverTimezone=UTC&characterEncoding=utf-8

注意:

后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误,中文显示乱码;

localhost可替换为你连接的数据库的IP地址

vcm_abc就是替换为你连接的数据库名称

第二步:设置JDBC Driver class,选择com.mysql.jdbc.Driver

第三步:填写连接数据库的用户名(username)和密码(password)

4、添加采样器(sampler)- JDBC request

注意:Query Type选择:

1)Select Statement:执行select语句,且只执行一条;

2)Update statement:执行insert、update、delete语句,且只执行一条(插入、修改、删除);

3)prepared select statement:执行select语句,执行多条;

4)prepared update Statement:执行insert、update、delete语句,执行多条;

因为链接数据库是需要在JDBC Connection Configuration中配置好的,然后赋予一个变量名称。那么JDBC Request想要去访问数据库,就必须通过这个配置好的元件去链接,所以JDBC Reques就需要通过读取JDBC Connection Configuration的变量中的信息。

所以,在JDBC request 中,“variable name bound to pool” 就需要设置与 JDBC Connection Configuration 中设置的变量名称一致。

5、添加监听器

6、都配置好了之后,点击【运行】按钮,即可运行,查看结果。

可见,对数据库操作成功。

如果觉得《Jmeter性能测试工具实现对数据库mysql进行连接并压测》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。