table "cloudsqladmin.public.heartbeat" 自动吸尘

Automatic vacuum of table "cloudsqladmin.public.heartbeat"

我们的后端经常出现中断,这似乎与我们的云 SQL Postgres 实例 (v9.6) CPU 使用高峰相关

查看 cloudsql.googleapis.com/postgres.log,那些高 CPU 峰值似乎也与数据库何时 运行 自动真空 table cloudsqladmin.public.heartbeat

我们还没有找到关于这个 table 是什么以及为什么 运行 autovacuum 如此频繁的文档(我们自己的 tables 似乎不受它的影响).

这正常吗?我们应该调整 autovacuum 的值吗?提前致谢。

这是一个似乎与您的情况非常相关的建议:https://www.netiq.com/documentation/cloud-manager-2-5/ncm-install/data/vacuum.html

通过查看您的图表,CPU 和 cloudsqladmin.public.heartbeat autovacuum 之间没有相关性。

让我们从 cloudsqladmin.public.heartbeat table 是什么开始,这是云 SQL 高可用性进程使用的 table,对此有更好的解释 here:

Each second, the primary instance writes to a system database as a heartbeat signal.

因此 table 在内部用于跟踪实例的运行状况。 autovacuum 是根据 doc David 共享的内容触发的。

现在,如果 Vacuum 过程产生了 CPU 个尖峰,您将每隔 minute/second 看到一个尖峰。

所以,直接回答你的问题:

这正常吗? :是的,从云 SQL 内部角度来看,autovacuum 和 cloudsqladmin.public.heartbeat table 是完全正常的,它们不应该以任何方式影响实例。

我们应该调整 autovacuum 的值吗? :不需要,如前所述,此过程不是影响 CPU 实例的过程,您可以隐藏类似的日志,包括 "cloudsqladmin.public.heartbeat" 并分析出现 Spike 时留下的日志。

也值得看看触发的备份过程(可能同时有一个)云 SQL > 实例详细信息 > 备份,当然,这与此处描述的主题不同:) 。