前言:这里对压测进行一些简介,本篇介绍mysql数据库压测场景、使用jmeter进行压测。
压测相关的一些指标:
- QPS(Queries Per Second):每秒能够响应的查询次数,也即是最大吞吐能力(吞吐量)。
- TPS(Transactions Per Second):每秒处理的事务数目。一个事务是指一个客户端向服务器发送请求然后服务器做出反应的过程。TPS 的过程包括:客户端请求服务端、服务端内部处理、服务端返回客户端。
例如,访问一个页面会请求服务器 3 次,那么访问这一个页面就会产生一个TPS,三个QPS。
安装Jmeter
- jmeter官网:https://jmeter.apache.org
- 解压后,进入bin目录,使用jmeter.bat启动程序。
- 注意:因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境,这个自行搜索安装。.
- 改为中文显示:Options -> Choose Language 改为简体中文
Mysql压测
- 添加MySQL驱动jar包
在测试计划页面点击浏览按钮添加jar包
- 添加MySQL连接配置
线程组上右键 【添加】->【配置元件】->【JDBC Connection Configuration】
- 添加JDBC Request
线程组上右键 【添加】->【取样器】->【JDBC Request】
注意:variable name of pool declared in JDBC connection configuration和上面的variable name for created pool的一致
Query Type :查询类型,是下拉框,查询用select ,更新用update
parameter values: 参数值
parameter types :参数类型
variable names :sql执行结果变量名
result variable names: 所有结果当做一个对象存储
query timeouts: 查询超时时间
handle results :处理结果集
- 添加监听器(这里截图是测试后的)
线程组上右键【添加】->【监听器】->【聚合报告】
线程组上右键 【添加】->【监听器】->【察看结果树】
- 执行测试
下图的绿色按钮为开始执行,如果要重新执行需清除上一次结果。
注意:需要把其他测试禁用