阿里云MySQL CPU 使用率高原因及解决
发布时间:2018-03-01 23:41:24
在日常使用 MySQL 实例的时候,可能会遇到 CPU 使用率过高甚至达到 100% 的情况。阿里云代理商凯铧互联就通过本文来分析造成CPU使用率过高的常见原因以及解决方法,来帮助用户能够及时的解决CPU使用率过高或者达到100% 的情况。
造成用户使用MySQL CPU使用率过高的常见原因
系统执行应用提交查询(包括数据修改操作)时需要大量的逻辑读(逻辑 IO,执行查询所需访问的表的数据行数),所以系统需要消耗大量的 CPU 资源以维护从存储系统读取到内存中的数据一致性
注:大量行锁冲突、行锁等待或后台任务也有可能会导致实例的 CPU 使用率过高,但这些情况出现的概率非常低,本文不做讨论。
阿里云代理凯铧互联通过一个简化的模型来说明系统资源、语句执行成本以及 QPS(Query Per Second 每秒执行的查询数)之间的关系:
条件:应用模型恒定(应用没有修改)。
avg_lgc_io:执行每条查询需要的平均逻辑 IO。
total_lgc_io:实例的 CPU 资源在单位时间内能够处理的逻辑 IO 总量。
关系公式:total_lgc_io = avg_lgc_io x QPS -- 单位时间 CPU 资源 = 查询执行的平均成本 x 单位时间执行的查询数量
解决方法
阿里云数据管理(DMS)工具中提供有几种可以辅助排查并解决MySQL 实例性能问题的功能:
1】实例诊断报告
2】SQL 窗口提供的查询优化建议和查看执行计划
3】实例会话
上述这几种功能中,实例诊断报告是我们进行排查以及解决 MySQL 实例的性能问题的最佳工具。不管是什么原因造成的 MySQL实例的性能问题,阿里云代理商都首先建议用户参考实例的诊断报告,尤其是诊断报告中的 SQL 优化、会话列表和慢 SQL 汇总分
MySQL 实例使用中避免出现 CPU 使用率达到 100% 的一般原则
1】通过设置 CPU 使用率告警,保证实例 CPU的使用率上有一定的冗余度
2】应用设计和开发过程中,要考虑查询的优化,遵守 MySQL 优化的一般优化原则,降低查询的逻辑 IO,提高应用可扩展性
3】新功能、新模块上线前,要使用生产环境数据进行压力测试(可以考虑使用阿里云 PTS 压力测试工具)
4】新功能、新模块上线前,阿里云代理商建议使用生产环境数据进行回归测试
5】建议经常关注和使用 DMS 中的诊断报告
上述就是关于出现 MySQL实例 CPU 使用率高的原因以及解决办法,如果还是没有能够解决您的问题,可以直接通过本站客服联系阿里云代理商技术团队,专业技术为您提供一对一技术服务,同时通过我们进行合作购买阿里云产品,正规阿里云官网购买,但价格更优惠。
造成用户使用MySQL CPU使用率过高的常见原因
系统执行应用提交查询(包括数据修改操作)时需要大量的逻辑读(逻辑 IO,执行查询所需访问的表的数据行数),所以系统需要消耗大量的 CPU 资源以维护从存储系统读取到内存中的数据一致性
注:大量行锁冲突、行锁等待或后台任务也有可能会导致实例的 CPU 使用率过高,但这些情况出现的概率非常低,本文不做讨论。
阿里云代理凯铧互联通过一个简化的模型来说明系统资源、语句执行成本以及 QPS(Query Per Second 每秒执行的查询数)之间的关系:
条件:应用模型恒定(应用没有修改)。
avg_lgc_io:执行每条查询需要的平均逻辑 IO。
total_lgc_io:实例的 CPU 资源在单位时间内能够处理的逻辑 IO 总量。
关系公式:total_lgc_io = avg_lgc_io x QPS -- 单位时间 CPU 资源 = 查询执行的平均成本 x 单位时间执行的查询数量
解决方法
阿里云数据管理(DMS)工具中提供有几种可以辅助排查并解决MySQL 实例性能问题的功能:
1】实例诊断报告
2】SQL 窗口提供的查询优化建议和查看执行计划
3】实例会话
上述这几种功能中,实例诊断报告是我们进行排查以及解决 MySQL 实例的性能问题的最佳工具。不管是什么原因造成的 MySQL实例的性能问题,阿里云代理商都首先建议用户参考实例的诊断报告,尤其是诊断报告中的 SQL 优化、会话列表和慢 SQL 汇总分
MySQL 实例使用中避免出现 CPU 使用率达到 100% 的一般原则
1】通过设置 CPU 使用率告警,保证实例 CPU的使用率上有一定的冗余度
2】应用设计和开发过程中,要考虑查询的优化,遵守 MySQL 优化的一般优化原则,降低查询的逻辑 IO,提高应用可扩展性
3】新功能、新模块上线前,要使用生产环境数据进行压力测试(可以考虑使用阿里云 PTS 压力测试工具)
4】新功能、新模块上线前,阿里云代理商建议使用生产环境数据进行回归测试
5】建议经常关注和使用 DMS 中的诊断报告
上述就是关于出现 MySQL实例 CPU 使用率高的原因以及解决办法,如果还是没有能够解决您的问题,可以直接通过本站客服联系阿里云代理商技术团队,专业技术为您提供一对一技术服务,同时通过我们进行合作购买阿里云产品,正规阿里云官网购买,但价格更优惠。
关于我们:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯等,作为阿里云,腾讯云,百度云,金山云重要的合作伙伴,专注于为企业用户提供云计算及云计算的解决方案。总部设在北京,并在内蒙设有办事处。做为一家综合性方案商,凯铧互联向各行业用户提供基于云计算的各种解决方案。为用户获得优质服务的同时,秉承"专业规划、周到服务"的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评。