我们创建了一个具有200GB存储空间(Provisioned IOPS)的RDS postgres实例(m4.xlarge)。我们正尝试使用DataStage将数据从公司数据集市上传到RDS中的23个表。然而,上传速度很慢。加载400K记录大约需要6个小时。调整参数后,将数据加载到Postgres RDS的速度仍然很慢
然后,我开始根据Best Practices for Working with PostgreSQL调整以下参数:
比这些autovacuum 0
checkpoint_completion_target 0.9
checkpoint_timeout 3600
maintenance_work_mem {DBInstanceClassMemory/16384}
max_wal_size 3145728
synchronous_commit off
其他,我也被关闭multi AZ
和备份。尽管启用了SSL,但不确定这会改变任何事情。但毕竟改变了,仍然没有太大的改善。 DataStage正在并行上传数据〜12个线程。写入IOPS约为40 /秒。这个值是否正常?还有什么我可以做的,以加快数据传输?
您的RDS实例是可公开访问的吗?它是通过NAT还是其他网络瓶颈(代理,VPN等) –
还有一件事..你有一堆索引仍然启用?另外,你的数据有多大(meg,而不是行) –
@JoeLove实例可公开访问,无需代理或vpn等。总数据大约为50GB。大约10GB数据在5个小时内被加载。 – ddd