MYSQL IOPS、QPS、TPS
IOPS (Input/Output operations Per Second,既每秒处理I/O的请求次数)
QPS (Query Per Second,既每秒请求、查询次数)
TPS (Transcantion Per Second,既每秒事务数)
如果IOPS过高,分析原因:
- 内存不足,查询数据较多(一般为慢查询,但有时候并不是,单纯的查询数据较多),特别关注一下数据量大还需要排序的分页的,不能通过内存一次完成查询,产生大量的io操作
- 前面几种情景都没有问题,那可能是你的写操作过多了,从代码、业务或者架构考虑优化
- 最后的办法..提升mysql、硬件服务器的iops配置,说白了就是换硬件比如机械磁盘换固态
在业务量级没有明显变化的时候主要排查1,2,可以通过优化sql或者对数据量较大的表进行分表处理,3就不说了就是花钱换速度
如果QPS过高,分析原因:
这个一般没什么解决办法,很直观的指标,你的数据库访问次数过多了,可以通过缓存减少查询次数、消息队列削峰等
如果TPS过高,分析原因:
- 一般也是直观的写操作过度了
- 也可能是大量的写操作发生回滚
解决办法同QPS