第一步,构建完备的监控体系。为了获取性能数据,分析及诊断问题,需要建立一套相对完备的监控体系。对于这块,首先需要有细致合理的告警,其次有多维度图形化指标,只有做到这两点,才可以暴露整个系统的性能缺陷,从而掌握大规模资源。 第二步,当出现问题,或者当我们发现资源指标趋势跟预想不一致的时候,需要分析定位问题,这个过程就是性能诊断。一般关注5点,第一,发生异常时间区间;第二,系统日志以及数据库的错误日志;第三,Slow Log日志;第四,通过合理手段对SQL执行统计;第五,Session会话分析。诊断分析之后,定位到某些会话或者某些SQL语句,可以看到异常行为。 第三步,分析业务逻辑,包括3点,第一,读写需求,请求量是不是正常;第二,事务精简,事务是不是有设计上的缺陷;第三,资源调用关系,比如SQL执行本身不慢,但是因为资源调用关系,出现锁等待的问题。 以上问题分析清楚之后,接下来才是要对真正有性能问题的SQL进行优化。 第四步,SQL优化,关于这块主要包括4点,第一,Explain查看SQL执行计划;第二,SQL改写;第三,索引调整;第四,参数调整。 总结如下: ·构建完备的监控体系 细致合理的告警 多维度图形化指标 暴露性能缺陷,掌控大规模资源 ·分析定位问题 异常时间区间 System log、DB Error Log Slow Log SQL执行统计 session ·分析业务逻辑 读写需求 事务精简 资源调用关系 ·SQL优化 explain SQL改写 索引调整 参数调整
答复内容摘自《深入MySQL实战》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1167
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。