文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL引起的CPU消耗过大该如何优化

2024-04-02 19:55

关注

本篇文章给大家分享的是有关MySQL引起的CPU消耗过大该如何优化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

谁在消耗cpu?

用户+系统+IO等待+软硬中断+空闲

MySQL引起的CPU消耗过大该如何优化

MySQL引起的CPU消耗过大该如何优化

祸首是谁?

用户

用户空间CPU消耗,各种逻辑运算

正在进行大量tps

函数/排序/类型转化/逻辑IO访问…

用户空间消耗大量cpu,产生的系统调用是什么?那些函数使用了cpu周期?

IO等待

等待IO请求的完成

此时CPU实际上空闲

如vmstat中的wa 很高。但IO等待增加,wa也不一定会上升(请求I/O后等待响应,但进程从核上移开了)

MySQL引起的CPU消耗过大该如何优化

MySQL引起的CPU消耗过大该如何优化

产生影响

用户和IO等待消耗了大部分cpu

MySQL引起的CPU消耗过大该如何优化

如何减少CPU消耗?

减少等待

减少IO量

SQL/index,使用合适的索引减少扫描的行数(需平衡索引的正收益和维护开销,空间换时间)

提升IO处理能力

加cache/加磁盘/SSD

MySQL引起的CPU消耗过大该如何优化

减少计算

减少逻辑运算量

如substr等字符运算,dateadd/datesub等日期运算,abs等数学函数

如union all代替 union,order by 索引字段等

如数字用tiny/int/bigint等,必需转换的在传入数据库之前在应用中转好

减少逻辑IO量

index,优化索引,减少不必要的表扫描

如增加索引,调整组合索引字段顺序,去除选择性很差的索引字段等等

如将很少使用的大字段拆分到独立表,非常频繁的小字段冗余到“引用表”

如减少复杂join,减少order by,尽量union all,避免子查询等

如tinyint够用就别总是int,int够用也别老bigint,date够用也别总是timestamp

MySQL引起的CPU消耗过大该如何优化

减少query请求量(非数据库本身)

如用户信息,商品信息等

如禁止同一页面多次重复请求相同数据的问题,通过跨页面参数传递减少访问等

MySQL引起的CPU消耗过大该如何优化

升级cpu

若经过减少计算和减少等待后还不能满足需求,cpu利用率还高T_T

是时候拿出最后的杀手锏了,升级cpu,是选择更快的cpu还是更多的cpu了?

以上就是MySQL引起的CPU消耗过大该如何优化,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯