首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MariaDB缓存一夜之间变冷

MariaDB缓存一夜之间变冷
EN

Server Fault用户
提问于 2022-05-08 07:43:34
回答 1查看 256关注 0票数 1

我们正在运行一个灯栈,其中包括Centos 7上的MariaDB 10.5.15。它是一个专用服务器,具有4CPU和8GB内存。

直到最近几周,我才发现缓慢的查询在缓慢的查询日志中花费了8-9秒的时间。

这些查询针对多个INNODB数据库,但总是针对大型表(即10,000+行)。它们总是发生在早上6点到8点之间。

所讨论的表具有索引,相同的查询通常在不到1秒钟内执行。

我发现,通过在周日上午8点登录服务器,并使用简单的select语句查询这些大型表,它们将花费8-9秒的时间执行。然后,在一天剩下的时间里,甚至在午夜以后,对该表的任何查询都将是快速的。

早上6点到早上8点也是事情“恢复生机”的时候,在早期的几个小时里,没有活动的一段时间。

似乎有某种缓存正在变冷,需要热身,但我不知道为什么这种情况在多年的麻烦免费使用后突然开始发生。据我所知,在服务器上一夜之间没有大进程在运行,当这种情况发生时,服务器没有负载。

我们监视CPU负载24/7,并定期检查连接到Apache和MariaDB的数量,这些连接在一天中始终保持在较低的水平。通常有大约3GB的内存空闲,不包括缓冲区和缓存。

编辑

令人尴尬的是,我发现问题中的慢速查询实际上并没有使用索引,而是在进行全表扫描。一个初始的查询可能需要几秒钟,然后在一天的剩余时间里,甚至整个表扫描也需要不到1秒的时间。我假设这是某种类型的磁盘缓存,一夜之间就会变冷。

虽然全表扫描出现性能问题似乎并不少见,但突然间突然变成了一个问题似乎还是很奇怪的。

EN

回答 1

Server Fault用户

发布于 2022-05-09 01:17:35

你似乎已经排除了夜间的垃圾场和一些缓慢的过程?

更多调试建议:

降低long_query_time的全局设置,并保持慢速日志打开;您可能会抓到坏人。

您的查询多久运行一次?我在这里钓的是把事情变慢的时间缩短了。

检查SHOW GLOBAL STATUS LIKE "Uptime"是否小于86400,那么MariaDB在不到24小时前就重新启动了。在这种情况下,您应该能够将时间锁定在第二位。(但不确定原因)。

向我们展示这个查询,加上SHOW CREATE TABLEEXPLAIN...,我们也许可以帮助您加快速度(例如,通过更好的索引或查询的重新编排),从而消除问题(尽管没有解决问题的原因)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1100432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档