mysql - AWS 上 mariadb 的synch/mutex/aria/PAGECACHE::cache_lock 等待时间增加

标签 mysql database mariadb amazon-rds

我负责维护使用 MariaDB (10.0.21) db.t3.2xlarge 的 API。今天,没有明显的原因(检查了传入 api 的请求数量,没有异常,没有代码更改,没有数据库更改),数据库开始变得缓慢,甚至获取 api 的访问 token 也需要 4-6 时间秒(通常低于 500 毫秒)。 从性能洞察(过去 5 小时)中,我可以看到,对于等待 (AAS) 的数据库加载,大部分等待是“synch/mutex/aria/PAGECACHE::cache_lock”(29.92),其次是 CPU (13.87) )并且创建所有这些的 SQL 是从迄今为止运行良好的 View 中进行选择的。 图表: https://imgur.com/B5baGzx https://imgur.com/BTU6MAf

我可以在 RDS 上获得的所有图表: https://imgur.com/a/8XO04gZ

选择的分析: https://imgur.com/S9uQJpW

我不是数据库专家,但我猜其中有些内容没有正确完成。但问题仍然存在……为什么会突然发生这种情况?我们确实对引擎进行了自动小更新,但我检查了一下,过去一周没有更新。 我还检查了数据库的进程列表,并且可以看到 v_links 查询中的选择卡在“发送数据”

我还运行了一个查询,该查询卡在控制台“发送数据”中,并在 10 毫秒内完成。

我还在 aws 论坛上创建了一个帖子:https://forums.aws.amazon.com/thread.jspa?messageID=921037

最佳答案

在与 AWS 支持人员联系并进行长时间调查后,我们发现 max_tmp_table 设置为 32,并且由于我们在创建多个临时表的 View 上有大量并发请求,因此 32 太小并且 tmp 表启动溢出到磁盘,因此 aria 缓存等待时间增加直至挂起。

关于mysql - AWS 上 mariadb 的synch/mutex/aria/PAGECACHE::cache_lock 等待时间增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586828/

相关文章:

sql - 将 SQL 代码转换为图表的工具

mysql - 无法查看 docker 容器内的表

mysql - 选择单个表中的数据 1 :Many relationship

php - SQL 导出 - Wordpress 插件 DEV

php - Slim 3 - getParsedBody() 不正确的整数值 : 'NULL'

mysql - 如何执行包含 "from"和 "to"作为表列名的 SQL 查询?

php - 删除列中的重复数据

c# - 在 C# 中使用存储过程

asp.net - 数据库表或 XML

mysql - 阅读 MySQL 中的其他线程警告