您当前的位置:首页 > 电脑百科 > 数据库 > MYSQL

MYSQL占用CPU过高

时间:2023-01-11 17:42:18  来源:今日头条  作者:中中中中中中

最近业主要求要把系统从电信云迁移到区里面的政数云,迁移前电信云是8核16G的配置,迁移后政数云是32核32G的配置,按理说迁移后性能应该非常好,结果老是系统崩溃,查找原因是MySQL占用CPU过高,占用率达到了1800%。于是进行了一系列的问题排查解决。


1、因要快速解决问题,不能影响客户使用,第一想到是存储可能是因为存到外挂的数据盘上,数据盘不是固态的,性能不足,于是把存储及mysql关联的全部改成系统盘。事后观察还是CPU过高。

 

2、于是优化SQL,把常用业务功能里面的SQL拉出来排查,发现之前的这条SQL大概1秒能出来,现在4-10秒才出来,于是EXPLAIN查看具体情况,其中查到定位到一个子查询是慢的原因,大概是如下这样

select e,count(e) from t where a=xx and b=xx and c=xx and d=xx group by e

对a、b、c、d建了联合索引,e是主键索引

explain后

 

Using temporary表示由于排序没有走索引,于是加了order by null,再看还是Using temporary,分析using index condition应该是走的联合索引,那Using temporary应该是后面group by引起的,那就是e字段有问题,e字段是主键,也没有走主键索引。于是把联合索引修改成a、b、c、d、e,再次explain后

 

 

查询速度立马到了1秒。但后面还是CPU过高。于是考虑mysql配置。

3、修改MYSQL配置如下

innodb_buffer_pool_size = 8000M
innodb_buffer_pool_chunk_size= 8000M
innodb_buffer_pool_instances=8
tmp_table_size = 1024M
max_heap_table_size = 1024M
wait_timeout = 90
interactive_timeout = 90
max_connections = 500

观察高峰期后,还是CPU过高,导致系统崩溃。

4、查看读写系统性能

安装iotop和IOStat的检测工具包:

#yum -y install sysstat

#yum -y install iotop

对比迁移前后对比,发现kb_read差距挺大。

 

对比后发现读写能力不足,于是查看云空间回执表,如下:

 

 

分布式存储按理解应该没有多大问题,也没有表示怀疑。于是带着疑问问供应商,为啥现有的系统性能不如以前,发现给我们的磁盘存储是分布式存储,但同是也是共享存储,意思是这个区域所有的政务系统都是共用这块存储,可能涉及查询业务比较多,所以读的能力差,而写的能力还可以。因为此系统用户比较大,而且调优慢SQL耗时较大,也是个巨大的工程,于是提出改变,改用FC-SAN,解决问题。

 

 



Tags:MYSQL   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
最近业主要求要把系统从电信云迁移到区里面的政数云,迁移前电信云是8核16G的配置,迁移后政数云是32核32G的配置,按理说迁移后性能应该非常好,结果老是系统崩溃,查找原因是mysql占...【详细内容】
2023-01-11  Tags: MYSQL  点击:(0)  评论:(0)  加入收藏
我们在操作数据库的时候,锁的冲突是影响数据库并发访问性能的一个非常重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。今天分享MySQL相关的最全锁@mikechen01MySQ...【详细内容】
2023-01-05  Tags: MYSQL  点击:(16)  评论:(0)  加入收藏
前言先前写过一篇文章聊聊如何利用redis实现多级缓存同步,里面讲到业务部门因数据库宕机,有技术提出当数据库宕机,切换到redis,今天我们就来聊聊如何触发这个切换动作?1、方案一...【详细内容】
2023-01-04  Tags: MYSQL  点击:(9)  评论:(0)  加入收藏
历史数据迁移 项目地址:https://gitee.com/xl-echo/dataMigration历史迁移解决方案。微服务的架构为基础,使用多种设计模式,如:单利、桥接、工厂、模板、策略等。其中涉及的核心...【详细内容】
2023-01-04  Tags: MYSQL  点击:(15)  评论:(0)  加入收藏
mysql锁可能是数据库知识篇幅中普遍比较难理解的一个知识点!以前对锁理解的也是停留在八股文的的阶段,经历了这次生产问题之后重新学习了问题表现:早上刚到公司还没进入状态,就...【详细内容】
2023-01-03  Tags: MYSQL  点击:(5)  评论:(0)  加入收藏
今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从...【详细内容】
2022-12-24  Tags: MYSQL  点击:(24)  评论:(0)  加入收藏
这篇文章主要介绍了navicat打开sql的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。navicat怎么打开sql...【详细内容】
2022-12-22  Tags: MYSQL  点击:(13)  评论:(0)  加入收藏
最近,某同事在生产上遇到一个 mysql 死锁的问题,于是在帮忙解决问题后,特意花了一周的时间,把 MySQL 所有的锁都整理了一遍,今天就来一起聊聊 MySQL锁。 申明:本文基于 MySQL 8.0....【详细内容】
2022-12-18  Tags: MYSQL  点击:(21)  评论:(0)  加入收藏
Insert Intention Lock,中文我们也称之为插入意向锁。这个可以算是对我们之前所讲的 Gap Lock 的一个补充,关于 Gap Lock,如果还有小伙伴不懂,可以参考:记录锁、间隙锁与 Next-Ke...【详细内容】
2022-12-18  Tags: MYSQL  点击:(30)  评论:(0)  加入收藏
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不...【详细内容】
2022-11-30  Tags: MYSQL  点击:(9)  评论:(0)  加入收藏
▌简易百科推荐
最近业主要求要把系统从电信云迁移到区里面的政数云,迁移前电信云是8核16G的配置,迁移后政数云是32核32G的配置,按理说迁移后性能应该非常好,结果老是系统崩溃,查找原因是mysql占...【详细内容】
2023-01-11  中中中中中中  今日头条  Tags:MYSQL   点击:(0)  评论:(0)  加入收藏
我们在操作数据库的时候,锁的冲突是影响数据库并发访问性能的一个非常重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。今天分享MySQL相关的最全锁@mikechen01MySQ...【详细内容】
2023-01-05  互联网资讯看板     Tags:MySQL锁   点击:(16)  评论:(0)  加入收藏
前言先前写过一篇文章聊聊如何利用redis实现多级缓存同步,里面讲到业务部门因数据库宕机,有技术提出当数据库宕机,切换到redis,今天我们就来聊聊如何触发这个切换动作?1、方案一...【详细内容】
2023-01-04  小心程序猿QAQ  今日头条  Tags:mysql   点击:(9)  评论:(0)  加入收藏
历史数据迁移 项目地址:https://gitee.com/xl-echo/dataMigration历史迁移解决方案。微服务的架构为基础,使用多种设计模式,如:单利、桥接、工厂、模板、策略等。其中涉及的核心...【详细内容】
2023-01-04  Java机械师  今日头条  Tags:MySQL   点击:(15)  评论:(0)  加入收藏
mysql锁可能是数据库知识篇幅中普遍比较难理解的一个知识点!以前对锁理解的也是停留在八股文的的阶段,经历了这次生产问题之后重新学习了问题表现:早上刚到公司还没进入状态,就...【详细内容】
2023-01-03  打篮球的程序员  今日头条  Tags:mysql锁   点击:(5)  评论:(0)  加入收藏
今天在工作中写项目的时候,遇到了一个让我感到几乎无解的问题,在转换了思路后,想出了一个折中的解决方案,记录如下。其实,问题的场景,非常简单: 就是需要查询出上图的数据,红框是从...【详细内容】
2022-12-24  Java架构师修炼之道  今日头条  Tags:MySQL   点击:(24)  评论:(0)  加入收藏
这篇文章主要介绍了navicat打开sql的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。navicat怎么打开sql...【详细内容】
2022-12-22  崔永亮  搜狐号  Tags:mysql   点击:(13)  评论:(0)  加入收藏
最近,某同事在生产上遇到一个 mysql 死锁的问题,于是在帮忙解决问题后,特意花了一周的时间,把 MySQL 所有的锁都整理了一遍,今天就来一起聊聊 MySQL锁。 申明:本文基于 MySQL 8.0....【详细内容】
2022-12-18  猿Java  知乎  Tags:MySQL   点击:(21)  评论:(0)  加入收藏
Insert Intention Lock,中文我们也称之为插入意向锁。这个可以算是对我们之前所讲的 Gap Lock 的一个补充,关于 Gap Lock,如果还有小伙伴不懂,可以参考:记录锁、间隙锁与 Next-Ke...【详细内容】
2022-12-18  江南一点雨  今日头条  Tags:MySQL   点击:(30)  评论:(0)  加入收藏
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不...【详细内容】
2022-11-30  京东云企业管家    Tags:mysql   点击:(9)  评论:(0)  加入收藏
站内最新
站内热门
站内头条