此篇介绍一下关于MySQL数据库的关键性能指标。

QPS

每秒处理的查询数,同时适用于InnoDB和MyISAM引擎。

TPS

每秒处理的事务数,适用innodb引擎。
Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。
TPS包括一条消息入和一条消息出,加上一次用户数据库访问。

IOPS

每秒磁盘进行的I/O操作次数。
IOPS(Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内系统能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。
随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。
另一个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(Video On Demand),则更关注吞吐量指标。

使用explain分析sql语句

结果字段 含义
id select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序
select_type 查询类型
table 正在访问哪个表
partitions 匹配的分区
type 访问的类型
possible_keys 显示可能应用在这张表中的索引,一个或多个,但不一定实际使用到
key 实际使用到的索引,如果为NULL,则没有使用索引
key_len 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度
ref 显示索引的哪一列被使用了,如果可能的话,是一个常数,哪些列或常量被用于查找索引列上的值
rows 根据表统计信息及索引选用情况,大致估算出找到所需的记录所需读取的行数
filtered 查询的表行占表的百分比
Extra 包含不适合在其它列中显示但十分重要的额外信息

查看索引的使用率

show status like 'handler_read%';
handler_read_key 越高说明索引使用的好,handler_read_rnt_next越高使用索引越低效。