gpt4 book ai didi

mysql - 在 Amazon RDS/Mysql 中解释这种内存消耗模式?

转载 作者:IT老高 更新时间:2023-10-29 00:08:01 26 4
gpt4 key购买 nike

各位,

有人可以解释一下运行 Mysql 的 Amazon RDS 上的这种内存消耗模式吗?在此图中,我在 03:30 升级到 db.m2.2xlarge,可用内存为 34GB。您可以非常清楚地看到切换。当客户端开始连接并访问该实例时,可用内存急剧下降到 5GB,现在一直徘徊在这个位置。在我之前对数据库实例大小进行升级时,我看到了相同的模式,直到可用内存下降到略低于 1GB 并无限期地徘徊在那里。

这个实例在 03:30 到 07:30 之间在做什么?为什么它不在未使用的内存可用时释放它?我想我希望这张图是一个波形,对应于使用和流量模式,vs 和指数衰减形状,这表明它是一个 super 懒惰和/或损坏的垃圾收集算法。

另请注意,大约 2/3 的 DB 操作是写入,1/3 是读取,并且在 DB 前面有大约 2GB 的 memcache。

memory consumption amazon rds mysql

最佳答案

MySQL 在内存中维护最近使用的表、查询和结果的缓存,以便更快地返回结果。例如,如果您从客户端查询“select * from company where id = 1”一百万次,只有第一次查询需要转到磁盘,接下来的 999,999 次将直接来自 RAM 缓存。 MySQL 没有理由让这个缓存过期,直到它知道它需要更多内存,所以它会保存东西,直到它需要释放 RAM 用于其他工作或更频繁使用的结果。

我不自称是专家 - 我理解数据库查询缓存优化是一门非常复杂和深奥的科学。甲骨文、微软和其他公司的程序员花费了很多年的时间来寻找管理缓存空间的最佳方式,因此很难从外部进行预测。

关于mysql - 在 Amazon RDS/Mysql 中解释这种内存消耗模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com