我正在运行一个带有MariaDB 10.3.20和Vitess 6的Kubernetes集群。一切运行正常,但是Master节点中的内存使用率总是在90%左右。我现在没有OOM,但我很想了解这种高内存的使用情况。
目前,每个节点(主节点和副本)的配置相同,分别为10 10和10 CPU核。目前,MariaDB配置是默认配置(innodb_buffer_pool_size有128 is,我将尝试更新到节点内存的70% ),除了设置为15758的max_connections数量之外。
数据库中的数据如下: 1GB和5个表。SELECT峰值约为每秒700个查询,INSERT峰值约为200个QPS,UPDATE为100个QPS。
主程序只接收写入(INSERT、UPDATE、DELETE),副本只接收读(SELECT)。
下面是内存使用的两个图表(顶部是主图,底部是副本)。
主人的记忆每周都有一个有趣的“模式”,不知道为什么。
我试着理解这种行为,阅读MariaDB内存分配,但没有任何东西可以解释这一点。

下面的图表跨度为15天。

发布于 2021-02-27 00:42:44
max_connections,设置为15758。
太高了。试试200。
这些有趣的mem峰值是否与大查询相对应?或者在Vitess里收集垃圾?“每周”听起来像是主人的后援?
一定要将buffer_pool提高到2G,但在您控制内存之前不要这样做。
这是第一张图片里的12样东西吗?
https://dba.stackexchange.com/questions/285808
复制相似问题