如何用JMeter对MySQL数据库进行压测

如何用JMeter对MySQL数据库进行压测,第1张

在Jmeter中建立一个JDBC Request 测试计划主要分两步。

(1)设置JDBC连接池(在JDBC Connection Configuration)

(2)添加JDBC Request

其他步骤就是设置参数化、断言、监听结果

第一步:添加 JDBC Connection Configuration

需要设置jdbc线程池变量的名称,这里设置为jdbcConfig,这个变量在JDBC Request中要使用的;还有要设置Database URL,格式为:jdbc:mysql://localhost:3306/chenserverTimezone=UTC&characterEncoding=utf-8,注意:?后面的serverTimezone=UTC&characterEncoding=utf-8不能缺少,否则会报时区错误。

第二部:设置JDBC Request

方法/步骤

首先要创建本地端口映射,打开cmd,输入

ssh -L 3308:localhost:3306 root@服务器地址 -p 服务器ssh端口

再输入ssh密码登进去就可以了,如图

例如:ssh -L 3308:localhost:3306 root@25523241 -p 1001

3306是服务器数据的端口,3308是本机新开的

打开Jmeter,依次建立测试计划,线程组,JDBC connection configuration,图形结果树,表格结果树,jdbc request

(1)线程组填50,即50个并发用户数

(2)jdbc connection配置url填:jdbc:mysql://localhost:3308/test,即连接的是test这个数据库

驱动选commsqljdbcDriver(报错不能用时取mysql官网下最新的放到jemter 的lib/ext目录下就可以了)

(3)依次再填username和password

(4)creat pool 变量名随便写一个,注意线程组中也要填相同的变量名

(5)jdbc request填个sql语句,如“select from userb;”

以上填好,点绿色的执行按钮就是依次简单的数据库性能测试

最后分析结果得到的表,下面分别是结果树,图形结果,表格结果,意思是:

当查询数据的并发数为50时,全部加载成功了,达到了预期的性能指标,吞吐量TPS=1004016每分钟,偏离为331,平均执行时间为1812ms,基本上这样就表示性能测试的第一步预期性能指标合格了。

一、需求:

1、业务需求:根据手机号到数据库中查看用户id,再根据用户id查看该注册用户下关联的健康成员。

2、参数化分析

1)需要根据不同的手机号进行查询,所以手机号需要进行参数化

2)用户id要作为下一个查询的参数,所以也需要参数化

二、实现

1   下载数据库驱动包,并在jmeter中添加该jar包

下载mysql-connector-javajar,存放到本地如:D:\jmeter相关

引入jar包:测试计划->浏览->选择jar文件

2   添加 DBC Connection Configuration

右键线程组->添加->配置元件->JDBC Connection Configuration

配置

说明:

Variable Name:注意该变量名,后面添加jdbc请求时都需要与该名称保持一致。

Database URL:jdbc:mysql://mysql_host_ip:mysql_port/mysql_db_name

JDBC Driver class:commysqljdbcDriver

username:数据库用户名

password:数据库密码

3  添加用户变量

4 添加JDBC Request

右键线程组->添加->Sampler->JDBC Request

配置:

Variable Name:注意与之前配置的名称保持一致

Query Type:含变量的sql查询,选择Prepared Select Statement

Query:输入sql语句,注意不要加分号

Parameter values:引用用户定义的变量${my_phone}

Parameter types:变量的类型varchar

Variable names:保存查询结果,供后续接口调用,注意调用时加“_1”

5添加>

右键线程组->添加->Sampler->>

注意:

服务器名称或IP:不要加>

变量值:使用数据库查询结果作为变量 ${my_id_1},注意加“_1”

6添加查看结果树

右键线程组->添加->监听器->查看结果树

7运行

1、复制mysql-connector-java-517-binjar(可点击该链接下载)至\apache-jmeter-213\lib目录下。

2、 进入\apache-jmeter-213\bin目录双击运行jmeterbat 启动JMeter,

3、右击测试计划新增线程组,

4、新建线程组完成之后,可修改线程组名称,本来设置线程数为10,运行时间10秒,循环1次,因此总共请求10次

备注:Ramp-Up Period不可设置过短,否则会在初始给服务器过大的压力,也不能设置过短,否则第一个线程完成之后,第二个线程还没启动,建议Ramp-Up Period=总线程数。

5、新建JDBC连接池

配置信息如下:

Database URL: jdbc:mysql://服务器地址:3306/数据库名

JDBC Driver class:数据库JDBC驱动类名,commysqljdbcDriver

Username:数据库连接用户名

Password:数据库连接密码

6、新建JDBC请求

7、在Variable Name输入同JDBC Connection Configuration相同连接池名,本例输入如下查询语句。

8、添加断言

9、添加断言结果

10、添加图形结果

11、添加察看结果树

12、添加聚合报告

13、选中mysql线程组,点击绿色箭头运行按钮

14、察看报告

以上就是关于如何用JMeter对MySQL数据库进行压测全部的内容,包括:如何用JMeter对MySQL数据库进行压测、jmeter怎样做两个数据库数据同步的性能、用jmeter可以对数据库进行关联吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10092518.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存