jmeter压测TIDB数据库

近日,项目需要考察tidb数据库读操作的最大处理能力,需要进行极限压测。

据了解tidb是兼容 MySQL 5.7的,可以使用jdbc连接池方式来压测,正好jmeter工具中提供了jdbc插件,因此可以用jmeter作为压测工具。

具体操作步骤:

前提:需要下载mysql jar包.

下载地址:

链接:mysql-connector-java-5.1.28.jar.zip-MySQL文档类资源-CSDN下载

把 mysql-connector-java-5.1.28.jar 放到Jmeter安装目录的lib/exp目录下,并重启jmeter.

1.使用jmeter3.2或以上版本,在测试计划中,新建一个线程组,在线程组下创建一个 JDBC Connection Configuration插件。如下图:

jmeter压测TIDB数据库_第1张图片

 特别提醒:Max Number of Connection: 数据库最大链接数,如果用于压测,建议设置为0.

------------------------------------------jdbc connection configuration 参数说明----------------------------------

重要参数说明:

  • Variable Name:数据库连接池的名称,我们可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。
  • Max Number 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 事务重复读、
  • Database URL:数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如:jdbc:mysql://localhost:3306/test
  • JDBC Driver class:JDBC驱动,如 com.mysql.jdbc.Driver
  • username:数据库登陆的用户名
  • passwrod:数据库登陆的密码

2.JDBC Connection Configuration 设置完毕后,创建JDBC request,进行SQL语句设置及字段参数化。见下图:

注:JDBC request中的Variable Name 参数值一定要与 JDBC Connection Configuration中 Variable Name 参数值相同。

jmeter压测TIDB数据库_第2张图片

3.试压结果

jmeter压测TIDB数据库_第3张图片

结束语:由于要验证tidb的极限处理能力(测试环境中8台TIDB数据库),要保证压力负载机不能成为瓶颈,需要准备多台jmeter负载机压测(推荐 8c16g配置,5~10台负载机)

你可能感兴趣的:(Jmeter,数据库,数据库,压力测试,java)