第6章 数据库性能测试-mysql性能测试

1、mysql数据库分支介绍

Mysql全文检索中文怎么分词 mysql全文检索 性能测试_慢查询

2、mysql数据库监控指标

  • QPS
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_mysql_02

  • TPS
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_03


  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_慢查询_04

  • 线程连接数
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_mysql_05

  • Query Cache
  • Query Cache命中率
  • 锁定状态
  • 主从延时

3、mysql慢查询工作原理及操作

  • 慢查询定义
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_06

  • 慢查询开启
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_慢查询_07

  • 慢查询日志分析
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_慢查询_08


  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_Mysql全文检索中文怎么分词_09

  • 举例
  • Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_10

4、SQL的分析与调优方法:SQL语句性能分析

  • explain执行计划
  • 用法:explain select 语句,explain select * from user;
  • explain返回结果分析






Mysql全文检索中文怎么分词 mysql全文检索 性能测试_mysql_11

5、mysql索引的概念及作用

1、普通索引 index:加速查找

  • 最基本的索引,没有任何限制
    2、唯一索引:(primary key / unique)
  • 主键索引 primary key :加速查找+约束(不为空、不能重复)
  • 它是一种特殊的唯一索引,不允许有空值
  • 默认的id,
  • 唯一索引 unique:加速查找+约束(不能重复)
  • 索引猎德值必须唯一,但允许有空值

3、全文索引

  • fulltext是一种只适用于myISAM标的一个索引类型。

4、联合索引

  • primary key(id,name):联合主键索引
  • unique(id,name):联合唯一索引
  • index(id,name):联合普通索引

6、mysql索引的工作原理与设计规范

  • 索引创建规范

7、mysql存储引擎:根据场景选择;

1、MyISAM 存储引擎

  • 优点:
  • 查询(读)的效率要优于innodb,不需要支持事务,行级锁, 外键, 可通过设置myisam来优化数据库
  • 索引与数据分开,使用了压缩哟,从而提高了内存使用率
  • 缺点:
  • 不支持事务
  • 写入数据时直接锁表;不支持行锁,只支持表锁。导致写入速度慢

2、InnoDB 存储引擎
innodb(创建表时默认的):

  • 优点:
  • 支持事务,行级锁,外键
  • 缺点:
  • 不支持fulltext索引(全文索引)
  • 行级锁并不绝对,当不确定扫描范围时,锁全表
  • 索引与数据是紧密捆绑的,没有使用压缩导致体积庞大

8、mysql实时监控:工具orzdba

输入启动 ./orzdba

举例:输入以下查看结果

Mysql全文检索中文怎么分词 mysql全文检索 性能测试_mysql_12


Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_13

9、mysql集群监控方案:天兔LEPUS

Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_14


打开官网——点击文档——查看安装

10、mysql性能测试的用例准备,使用jmeter开发mysql性能测试脚本,执行测试

Mysql全文检索中文怎么分词 mysql全文检索 性能测试_慢查询_15


Mysql全文检索中文怎么分词 mysql全文检索 性能测试_性能测试_16

  • 增删改查,参数化;
  • 关注:部署好监控,指标;查看测试效果:找出速度很慢的慢查询,SQL语句是否合理,数据库的架构是否合理;异常类测试-策略切换

Mysql全文检索中文怎么分词 mysql全文检索 性能测试_mysql_17