【 三、服务器性能剖析 】

1 问题

  • 如何确定服务器是否达到了性能最佳状态
  • 找出某条语句为什么执行不够快
  • 某些间歇性疑难故障

2 性能优化简介

性能:完成某件任务所需要的时间度量

数据库服务器的目的式执行 SQL 语句,所以它关注的任务式查询等语句,如 SELETE、UPDATE、DELETE等。

优化:在一定的工作负载下尽可能地降低响应时间。

如果把性能优化仅仅看成是提升每秒查询量,这其实是吞吐量优化,是性能优化分副产品。

吞吐量:单位时间内的查询数量,是性能定义的倒数。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.1 通过性能剖析进行优化

一旦掌握并实践 面向响应时间 的优化方法,就会发现需要不断地对系统进行性能剖析(profiling)。

性能剖析是 测量和分析时间花费在哪里 的主要方法。性能剖析一般分为两个步骤:测量任务所花费的时间、然后对结果进行统计和排序,将重要的任务排在前面

两种类型的性能剖析:基于执行时间的分析基于等待的分析
在这里插入图片描述

2.2 理解性能剖析

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

3 对应用程序进行性能剖析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 剖析 MySQL 查询

在这里插入图片描述

4.1 剖析服务器负载

在这里插入图片描述

捕获 MySQL 的查询到日志文件中

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

分析查询日志

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.2 剖析单条查询

在这里插入图片描述

使用 SHOW PROFILE

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用 SHOW STATUS

在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用慢查询日志

在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用 Performance Schema

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.3 使用性能剖析

在这里插入图片描述在这里插入图片描述

5 诊断间歇性问题

在这里插入图片描述在这里插入图片描述

5.1 单条查询问题还是服务器问题

在这里插入图片描述

使用 SHOW GLOBAL STATUS

在这里插入图片描述在这里插入图片描述在这里插入图片描述

使用 SHOW PROCESSLIST

在这里插入图片描述在这里插入图片描述

使用查询日志

在这里插入图片描述在这里插入图片描述

理解发现的问题

在这里插入图片描述在这里插入图片描述

5.2 捕获诊断数据

在这里插入图片描述

诊断触发器

在这里插入图片描述在这里插入图片描述

需要收集什么样的数据

在这里插入图片描述在这里插入图片描述

解释结果数据

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.3 一个诊断案例

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

6 其他剖析工具

在这里插入图片描述

6.1 使用 USER_STATISTICS 表

在这里插入图片描述在这里插入图片描述

6.2 使用 strace

在这里插入图片描述在这里插入图片描述

7 总结

在这里插入图片描述在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42112635/article/details/89362830