真空需要花费大量时间



以下命令VACUUM my_table已经在Postgres(v11.5(上运行了24小时

该表周围有:

  • 1.12亿行
  • 表空间:193 GB
  • 6 个
  • 不同字段上的 6 个索引 + 主键索引

这正常吗?

更多信息,如果它有帮助...

  • AWS RDS 实例
  • 16GB 内存 + 4 个 vCPU (db.m5.xlarge(
  • 800GB 分配的存储空间(到目前为止,数据库占用了 495GB(
  • 预配置 IOPS - 10000

在此处添加更多信息 -

  • SELECT relname, n_dead_tup FROM pg_stat_user_tables;返回163441017
  • 我们没有对数据库运行任何应用程序查询,我们想让数据库完成清空过程

可以。也许您的 16GB RAM 太低,无法有效操作大表(190GB(。非常通用的规则说,所以 RAM 的大小应该约为 1/10 db。

您可以检查的内容:

a( 查看表pg_stat_activity中的相关进程,并检查vacuum是否未处于等待锁定状态。

b( 如果可以,请检查与 IO 相关的指标。也许在那里你会看到高IO等待 - 这是信号,所以你的IO过载,然后vacuum可能非常慢。表193GB真的很大。

相关内容

  • 没有找到相关文章

最新更新