大量慢sql导致mysql服务器的cpu飙升到100%

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 大量慢sql/mysql/cpu 100%

故障原因

上午10:14左右出现大量慢sql导致mysql服务器的cpu飙升到100%

image.png


处理过程

阿里云查看性能趋势,发现在10:13:28cpu飙升到100%

image.png


排查思路:

8月1号阿里云临时把我们的IOPS调到了7000,一周后调回原值5000,

排查10:13:28附近的IOPS,为3581.5,并未达到峰值7000


image.png


查看扫描行数并未发现明显飙升


image.png

查看10:14:00之前5分钟内的sql洞察,在10:13:28秒左右并没有发现明显异常


image.png

在10:11:56出现一次比较明显的飙升,定位到以下查询语句

image.png


该sql在当时的执行时间大概在3秒左右,理论上不应该是这句sql引起的cpu飙升

继续排查慢日志明细,发现以下几句sql执行时间在12、3秒左右,执行开始时间和飙升发生时间比较接近,把这几句sql单独拿出来放在只读实例中执行都是一秒之内返回,目前来看不可能是单独的几条sql引起的cpu飙升,联系阿里云进行排查,那边给出的回复是并发量达到一定程度,导致主实例的buffer pool占满,拿不到free pages

优化思路为通过阿里云的数据库代理,自动对请求进行转发,写请求转发到主实例上,读请求转发到只读实例上,减少主实例上的大量读请求压力,目前对uat数据库设置了代理,将xxx-pro的uat环境连接地址改成了数据库代理地址,先在uat环境测试一下主流程是否可以正常执行,确保可以正常执行的情况下再对生产环境进行调整


暴露的问题

目前存在较多慢sql,部分慢sql单从sql层面优化空间不大


改进措施

目前发现访问量较大的慢sql主要集中在往来单位查询、台账查询和导出查询等业务相关的sql,已对uat环境的xxx-pro设置了数据库代理,计划在今天发版后对往来单位查询对应的xxx-data-service也使用数据库代理,需要验证下主流程是否可以正常执行

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
17天前
|
监控 安全 网络安全
蓝易云 - 服务器遭受攻击,CPU升高,流量升高,你一般如何处理
以上步骤可以帮助你处理服务器遭受攻击的情况,但具体的方法可能会根据你的网络环境和攻击类型有所不同。
18 2
|
6天前
|
缓存 弹性计算 监控
云服务器 CPU 使用率高的问题排查与优化
云服务器 CPU 使用率高的问题排查与优化
14 0
|
2月前
|
存储 弹性计算 缓存
阿里云2核CPU云服务器租用收费标准与活动价格参考
阿里云2核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云2核CPU云服务器租用收费标准与活动价格参考
|
2月前
|
测试技术 PyTorch 算法框架/工具
魔搭开源推理引擎 DashInfer,助力CPU服务器解锁大模型超强推理
ModelScope推出了预训练大语言模型(LLM)推理引擎DashInfer,采用C++ Runtime编写,提供C++和Python语言接口,具有生产级别的高性能表现,适用于多种CPU架构,包括x86和ARMv9。DashInfer支持连续批处理(Continuous Batching)和多NUMA推理(NUMA-Aware),能够充分利用服务器级CPU的算力,为推理14B及以下的LLM模型提供更多的硬件选择。该项工作已开源。
|
1月前
|
SQL 存储 关系型数据库
sql数据库服务器
SQL数据库服务器是由Microsoft所开发的数据库服务器,它可以让一个企业利用Internet/Intranet来整合所需的数据库。SQL Server最初是由Sybase提供的,但Microso
|
SQL 弹性计算 关系型数据库
把RDSmysql的数据上传到ECS部署的服务器,需要在ECS中安装mysql吗?还是可以在部署的服务器内部直接写rds数据库的地址进行连接
把RDSmysql的数据上传到ECS部署的服务器,需要在ECS中安装mysql吗?还是可以在部署的服务器内部直接写rds数据库的地址进行连接
134 0
|
SQL 关系型数据库 MySQL
linux服务器中如何安装mysql数据库(一次性完成,包含远程连接)
今天给大家介绍一下,如何在新服务器中安装`mysql`数据库,总是捣鼓服务器,每次都去网上查,次次都不一样,浪费好多时间,这次自己记录一下,省的后面还浪费时间。
145 0
linux服务器中如何安装mysql数据库(一次性完成,包含远程连接)
|
关系型数据库 MySQL Linux
Linux服务器安装MySQL数据库
Linux服务器安装MySQLl数据库
155 0
Linux服务器安装MySQL数据库