高性能MySQL第三章 读书笔记

2020-11-20 14:58:05 浏览数 (2)

第3章 服务器性能剖析

  • 优化的第一步应该是测量时间花在哪里。
  • 对测试结果统计之后,对结果进行排序,把重要的任务排在前面。
  • 如果优化的成本大于收益,就应该停止优化。
  • 平均值在很多时候都隐藏了我们正在需要关注的地方。
  • 虽然监控程序本身可能会拖慢程序,但是它对优化程序的贡献,是远远大于的其拖累的。
  • mysql慢查询日志可以帮助我们找到那些查询慢的语句。
  • 利用pt-query-digest分析慢查询报告。
  • 使用SHOW PROFILE 可以详细查看每条语句耗费时间的地方。
  • 导致性能低下的原因有几种:资源被过度使用,余量已经不足以正常工作。资源没有被正确配置。资源已经损坏或者失灵。
  • 慢查询有时候是结果,而不是原因。
  • 定义性能的最有效的指标是响应时间(我也同意~)

诊断间隙性问题

  1. 尽量不要采取试错的方式,成本太高了。
  2. 如果是瞬间所有的查询都变慢了,之后又好,那应该确定是服务器问题,如果只有单条查询变慢,应该是查询问题。通过查询日志去观察不合理的地方,对其进行研究确定。
  3. 捕获诊断数据,在捕获的时候阈值不能太高,也不能太低,通过定时的执行脚本或者监控工具(如pt-stalk),来记录机器状态,以便分析。
  4. 需要收集的数据要尽可能多,包括系统的状态,cpu使用率,磁盘使用率,可用空间,ps的输出采样,内存利用率,以及可以从MySQL获得的信息。
  5. 对收集到的数据进行分析,有时需要从内核层面进行查看数据变化。
  6. 然后根据最近是否有变动,然后依靠经验去判断问题。(真难)
  7. 很多被检查的地方最终要么是完全正常的,要么就是问题导致的结果而不是问题产生的原因。
  8. 可以把问题写在纸条上,检查一个划掉一个。
  9. 当一个问题看起来很眼熟像是之前解决过的问题时,也要花一点时间去验证是否是真的那个问题。

0 人点赞