前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL内存占用100%,是正常的?

MySQL内存占用100%,是正常的?

原创
作者头像
魏景维
修改于 2022-06-01 10:39:41
修改于 2022-06-01 10:39:41
6.9K0
举报

【问题表现】

某项目压测后发现qps达标,服务器cpu和内存占用均在70%以下,然而mysql服务的内存占用高达100%,且并没有因为压测而产生波动。

【问题排查】

1、查看mysql内存配置

MySQL内存配置为8G,共享内存5G,私有内存3G。共享内存是实例创建时就分配的内存空间,所有连接是共享的;私有内存是用于连接mysql服务器时才分配各自的缓存。)

2、查看连接数

如图所示,长连接数接近500。

运维同学回复这个数量不算多,属于正常范围。

3、查看慢查询

运维同学反馈没有查到慢查询数。

4、查看未压测时mysql的内存占用

1)经运维查看监控,压测前没有业务请求进入时,mysql的内存使用率就达到了60%左右;

2)链接池服务启动后,内存占用就已经达到了98%;

3)压测并发进入后就达到了100%

【解决思路】

1、减少无效的长连接,在不影响业务的情况下,降低程序侧的连接池配置或者降低并发度:查看卡特长连接数为400多,运维侧觉得这个数量不算多,属于合理范围内。并且并发度高是因为做压测,因此该解决方案不可行。

2、优化慢SQL:运维并未查看到慢查询记录,因此该解决方案不可行

3、升级内存配置:该项目UAT环境与线上环境是1:1配置,没有充分理由不能随意升配,因此该解决方案不可行

【最终结论】

我们最关注的事情是:mysql内存占用100%的情况下,对性能有什么影响??最终结论是该种情况为正常的有以下原因

原因1:运维侧咨询了腾讯云助手,了解了mysql内存占用100%这个现象是正常的。

原因2:

运维根据腾讯云助手的建议,查看了缓存命中率是处于高水位且使用率变化不明显,不需要进行扩容,可以继续使用。

原因3:

在mysql内存持续100%的情况下,压测多个接口qps均达标,也并未出现其他报错。

【总结】

1、腾讯云平台相关组件的知识可咨询腾讯云助手或者官网文档

2、对mysql服务的监控更多集中在cpu占比、慢查询、长连接等。

参考文档:https://cloud.tencent.com/document/product/236/54792

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
VictoriaLogs:一款超低占用的 ElasticSearch 替代方案
都以两个 consumer 计算: 一条消息占用内存:140+ 535*2 + 536*2 =2282byte存储三天:TPS * 86400 * 3=TPS*259200 条 总存储:2282*TPS*259200≈ 百GB
crossoverJie
2023/09/20
1.1K0
VictoriaLogs:一款超低占用的 ElasticSearch 替代方案
Go语言构建千万级在线的高并发消息推送系统实践
1、前言 Go语言的渗透率越来越高,同时大家对Go语言实战经验的关注度也越来越高。Go语言在高并发、通信交互复杂、重业务逻辑的分布式系统中非常适用,具有开发体验好、一定量级下服务稳定、性能满足需要等
用户1263954
2018/06/22
1.9K0
Mysql占用过高CPU时的优化手段
Mysql占用CPU过高的时候,该从哪些方面下手进行优化? 占用CPU过高,可以做如下考虑: 1)一般来讲,排除高并发的因素,还是要找到导致你CPU过高的哪几条在执行的SQL,show processlist语句,查找负荷最重的SQL语句,优化该SQL,比如适当建立某字段的索引; 2)打开慢查询日志,将那些执行时间过长且占用资源过多的SQL拿来进行explain分析,导致CPU过高,多数是GroupBy、OrderBy排序问题所导致,然后慢慢进行优化改进。比如优化insert语句、优化group by语句、
洗尽了浮华
2018/01/23
4.9K0
Mysql占用过高CPU时的优化手段
MySQL 最佳实践:CPU 100%,MySQL 到底在干什么
在日常工作中,发现 MySQL 的状态不太对劲的时候,一般都会看看监控指标,很多时候会看到熟悉的一幕:CPU 使用率又爆了。本文会简单介绍一下 MySQL 和 CPU 之间的关系,对此有一些了解之后可以更准确的判断出问题的原因,也能够提前发现一些引发 CPU 问题的隐患。
王文安@DBA
2020/08/11
14.8K0
MySQL 最佳实践:CPU 100%,MySQL 到底在干什么
停课不停学,云数据库如何支撑好数千万学生上课
疫情停倮以来,腾讯课堂助力全国数百万老师和数千万学生在线教学、听课。已有3000多个线下教育机构申请入驻腾讯课堂。这背后,离不开腾讯课堂可支持百万人同时在线上课、网络延时低至百毫秒级、1080P直播高清视频、秒级扩容服务海量用户等优势。
周小军@运维专家
2020/04/28
9650
停课不停学,云数据库如何支撑好数千万学生上课
Q&A第一辑|你最关心的云开发问题都在这了
关于小程序使用云开发很多小伙伴有不少疑问,大多数疑问其实在官方文档能够得到答案。但是今天小助手还是汇总了几个比较常见的问题,在这里一一为大家解答一下。
腾讯云开发TCB
2020/03/31
9040
Q&A第一辑|你最关心的云开发问题都在这了
即时通讯IM技术领域提高篇
掉线后,根据不同的状态需要选择不同的重连间隔。如果是本地网络出错,并不需要定时去重连,这时只需要监听网络状态,等到网络恢复后重连即可。如果网络变化非常频繁,特别是 App 处在后台运行时,对于重连也可以加上一定的频率控制,在保证一定消息实时性的同时,避免造成过多的电量消耗。
Allen.Wu
2019/12/12
2.8K0
迎接重生,微盟数据库全面上云纪实
在经历了惨痛的黑天鹅事件以及激烈的数据恢复过程后,作为微盟DBA的我们进行了深刻的反省和自查,作为公司的核心资产,数据库也得到了前所未有的重视。如何保证数据安全以及用户服务的高可用性是我们要解决的首要问题。
腾讯云数据库 TencentDB
2020/05/08
1.4K0
MySQL 案例:Threads_running 与慢查询
年前本应该是回顾一年工作和收尾的阶段,奈何各种促销,活动都等着春节,因此也遇到了不少的问题,回顾了一下最近遇到的问题,发现有好几个问题比较类似,正好整理一下,作为年前收尾的案例吧。表现上都是数据库假死,无响应,发生的场景有较高的业务压力到来时,也有业务正常运行的时候,突然就出现问题了。
王文安@DBA
2021/02/03
4.3K0
MySQL 案例:Threads_running 与慢查询
腾讯万亿级 Elasticsearch 内存效率提升解密
Elasticsearch( ES )是一款功能强大的开源分布式实时搜索引擎,在日志分析(主要应用场景)、企业级搜索、时序分析等领域有广泛应用,几乎是各大公司搜索分析引擎的开源首选方案。
morningchen
2020/06/01
7.9K3
腾讯万亿级 Elasticsearch 内存效率提升解密
云数据库MySQL CPU飙升排查流程
在日常使用MySQL的过程中,会遇到 CPU 使用率过高甚至达到 100% 的情况。CPU飙升会导致数据库无法连接,事务无法提交等一系列问题。本文基于日常问题处理介绍造成CPU飙升的原因以及解决方法。
苏欣
2019/08/08
10.5K1
我是怎么一步步用go找出压测性能瓶颈
笔者要在线上服务器load日志并且重放来测一些机器性能指标。模拟机器资源比较少,相对的被模拟的线上机器日志量大,假设线上单机qps有1w,那么5台机器组成的集群5w个qps。模拟机器压测客户端需要比5w个qps更快,才有比较意义。
mariolu
2018/07/20
4.2K0
分布式 | BenchmarkSQL 压测 dble 性能调优指南
BenchmarkSQL 是一个支持众多关系型数据库的基准测试工具,通过使用 BenchmarkSQL 对数据库进行 TPC-C 标准测试,即模拟多种事务处理:新订单、支付操作、订单状态查询、发货、库存状态查询等,从而获得最终的压测值。相较于 Sysbench 的单一,它更能贴切的模拟出真实的应用场景,因此越来越多的客户在对数据库进行压测时,更多的选择使用 BenchmarkSQL 。
爱可生开源社区
2022/04/06
1.1K0
关于MySQL | 这个问题100个人都没搞懂
点击上方蓝字每天学习数据库 作者简介:鲁越,腾讯云数据库架构师,主要负责腾讯云数据库MySQL、Redis、MongoDB、Oracle等数据库架构设计、数据库运维、运营开发等工作,曾就职于网易游戏。 ---- 问题背景 用户将MySQL从IDC迁移至公有云后,时常有出现建立连接超时的情况,业务使用的场景是PHP短连接到MySQL,每秒的新建连接数在3000个左右,这个量算是比较大。但在IDC内自建时也是这样的使用场景,从未遇到过这个问题。 排查步骤 1、首先肯定是排查MySQL以及MySQL所在的物
腾讯云数据库 TencentDB
2019/05/16
8780
关于MySQL | 这个问题100个人都没搞懂
redis实例cpu占用率过高问题优化(下)
架构问题,其实早在报表高峰期读取问题出现的初期,大数据的同事就提出增加redis从库实例,做负载均衡的想法了。鉴于redis是单线程模型,只能用到一个cpu核心,多增加几个实例可以多利用到几个cpu核心这个想法确实也没错。当时由于从库物理机有富余的内存资源,所以临时新增了三个从库实例,并添加haproxy轮询访问后端4个redis实例。整体架构变为1主4从+haproxy做从库负载均衡。但是我始终认为,cpu高主要还是跟具体的业务查询有关,架构扩展应该是在单实例优化到最佳之后才考虑的。这就好比在mysql当中,有大量慢查询导致cpu过高,你光靠扩展从库而不去先优化SQL,扩展到什么时候是个头呢?
陈不成i
2021/05/21
1.8K0
腾讯云Redis新监控(5秒粒度)推荐配置
腾讯云新版本监控(5秒粒度)已经灰度3个多月了,原有的分钟级粒度的监控版本仍然会继续保留一段时间,有条件的企业和开发者推荐升级至5秒监控,后续官方应该会提供合适的升级方案。
于航
2021/01/25
2K0
腾讯云Redis新监控(5秒粒度)推荐配置
【最佳实践】巡检项:云数据库(MongoDB)CPU 使用率
检查腾讯云数据库 MySQL 实例的 CPU 使用率情况,如果MongoDB实例的CPU使⽤率过⾼,会导致MonogoDB响应缓慢,甚⾄业务不可⽤。
ivesjiang@DBA
2022/04/07
9730
Go 语言构建高并发分布式系统实践
你知道互联网最抢手的技术人才有哪些吗?最新互联网职场生态报告显示,最抢手的十大互联网技术人才排名中Go语言开发人员位居第三,从中不难见得,Go语言的渗透率越来越高,同时大家对Go语言实战经验的关注度也越来越高。本文便以360消息系统为例为大家分享技术干货《Go语言构建高并发分布式系统实践》。 Go语言在基础服务开发领域的优势 Go语言在高并发、通信交互复杂、重业务逻辑的分布式系统中非常适用,具有开发体验好、一定量级下服务稳定、性能满足需要等优势。以360消息推送系统为例,目前360消息推送系统服务于50+内
李海彬
2018/03/16
2K0
Go 语言构建高并发分布式系统实践
go实现的压测工具【单台机器100w连接压测实战】
本文介绍压测是什么,解释压测的专属名词,教大家如何压测。介绍市面上的常见压测工具(ab、locust、Jmeter、go实现的压测工具、云压测),对比这些压测工具,教大家如何选择一款适合自己的压测工具,本文还有两个压测实战项目:
link1st
2019/09/20
10.9K0
go实现的压测工具【单台机器100w连接压测实战】
解码Redis最易被忽视的CPU和内存占用高问题
作者介绍 张鹏义,腾讯云数据库高级工程师,曾参与华为Taurus分布式数据研发及腾讯CynosDB for PG研发工作,现从事腾讯云Redis数据库研发工作。 我们在使用Redis时,总会碰到一些redis-server端CPU及内存占用比较高的问题。下面以几个实际案例为例,来讨论一下在使用Redis时容易忽视的几种情形。 一、短连接导致CPU高 某用户反映QPS不高,从监控看CPU确实偏高。既然QPS不高,那么redis-server自身很可能在做某些清理工作或者用户在执行复杂度较高的命令,经排查无
腾讯云数据库 TencentDB
2019/10/11
7K1
解码Redis最易被忽视的CPU和内存占用高问题
推荐阅读
相关推荐
VictoriaLogs:一款超低占用的 ElasticSearch 替代方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档