将数据导入 Amazon RDS 速度极慢

将数据导入 Amazon RDS 速度极慢

我需要将 PostgresSql db 从旧服务器导入到新的 Amazon RDS。

我创建了一个数据库转储文件,通过 pgAdmin 连接到我的 RDS,并开始导入 pgAdmin 控制台(\i dump_file.sql)。

一切似乎都正常,但速度真的很慢,而且似乎在同一行停留了几个小时。我打开了 RDS 监视器,看到以下内容:

在此处输入图片描述

因此看起来有写入操作符(但为什么这么少)和一些 CPU 使用率,但看起来它使用的能力百分比非常低。我还详细检查了磁盘使用情况,磁盘缩小了,所以它确实在写入,例如它没有卡住,只是非常慢。

我该怎么做才能更快地导入我的数据库?为什么这么慢?为什么它只使用这么少的 CPU 和写入操作?

感觉 RDS 没有发挥其全部潜力。

PS 我的数据库大小约为10Gb。

答案1

默认的 postgresql 配置不适合批量导入数据。在导入那么多数据之前,您需要做的主要事情是增加max_wal_size以减少 postgresql 在导入过程中需要执行检查点的次数。此外,如果您对数据的质量有把握,请在事务中导入它。请参阅https://www.postgresql.org/docs/9.5/static/populate.htm其他想法(关闭复制、禁用索引、禁用触发器、用于pg_restore --jobs X并行化导入)

相关内容