Mysql-数据库压力测试

安装软件

官方软件
安装插件提供了更多的监听器选项
数据库驱动

数据库测试

配置

这里以一个简单的案例进行,进行连接池为10,20,30的梯度压测:

sql 复制代码
select * from tb_order_item where id= '1410932957404114945';
  • 新建一个线程组
  • 新增一个连接池配置
  • 新建一个JdbcRequest

    还需要关注连接池的选择

    更多的参数:
  1. Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable NameBound Pool名字保持一致
  2. Query Type:此处支持方式多样,可以用于添加或者筛选数据,根据需要和Query配合使用;
    update statement 更新
    select statemen 查询
    prepared select statement 预处理参数查询
    prepared update statement 预处理参数更新
  3. Query:填写的sql语句未尾可以不加";"
  4. Parameter valus:参数值,顺序替代Query中的?;此处对应Query中的"?",有几个"?"则此处要填写几个值,以","分隔;
  5. Parameter types:参数类型可参考:Javadoc for java.sql.TypesParameter types则必须和Parameter values一一对应,且类型必须正确;
  6. Variable names:保存sql语句返回结果的变量名 ,用于作为参数供调用
  7. Result variable name:创建一个对象变量,保存所有返回的结果 ,供调用;
  8. Query timeout:查询超时时间
  9. Handle result set:定义如何处理由callable statements语句返回的结果。
    例如:
  • 设置监听器

    配置完成以后运行就行了
结果

可以看到最大连接数30和20差距不会特别大,20和10之前的TPS还是有一些差距的,可以初步得出结论不是最大连接数越大越好,事实我测试的是云服务器,带宽也就10M所以可能还是被带宽卡主了,如果是生产环境就需要配置不同的连接参数来压测,从而得到一个合理值。

更多配置说明

1 在配置连接池的时候可以选用隔离级别,如果不选默认就是数据库的隔离级别

2 配置Jdbc Request的时候可以写带有参数的SQL

相关推荐
这个DBA有点耶5 小时前
云上运维新挑战:当数据库不再“看得见摸得着”
数据库·sql·程序人生·云原生·运维开发·学习方法·dba
AskHarries6 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
消失在人海中7 小时前
oracle 数据库多表关联查询
服务器·数据库·oracle
九皇叔叔7 小时前
PostgreSQL/openGauss pg_stats 视图从入门到精通:统计信息、执行计划与慢 SQL 优化实战
数据库·sql·postgresql
南极企鹅8 小时前
MySQL间隙锁&临键锁
数据库·sql·mysql
TDengine (老段)9 小时前
TDengine 压缩编码机制 — 双层压缩架构与类型特化算法
大数据·数据库·物联网·算法·时序数据库·tdengine·涛思数据
苏渡苇10 小时前
Redis 持久化——RDB 快照 vs AOF 日志
数据库·redis·缓存·redis持久化·aof vs rdb
l1t10 小时前
DeepSeek总结的使用 PEG 实现运行时可扩展的 SQL 解析器
数据库·sql
这个DBA有点耶10 小时前
COUNT进阶(续):超大表去重计数的极致优化
数据库·架构·代码规范
爱喝水的鱼丶10 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第四篇:SAP 报表异常处理机制:数据校验与消息提示规范落地
开发语言·数据库·学习·算法·sap·abap