Postgresql 调整参数后,将数据加载到Postgres RDS的速度仍然很慢
我们已经创建了一个RDS postgres实例(m4.xlarge),具有200GB的存储空间(配置的IOPS)。我们正在尝试使用DataStage将数据从公司数据集市上传到RDS中的23个表中。但是上传速度相当慢。加载40万条记录大约需要6个小时 然后,我开始根据以下参数调整以下参数:Postgresql 调整参数后,将数据加载到Postgres RDS的速度仍然很慢,postgresql,amazon-web-services,rds,Postgresql,Amazon Web Services,Rds,我们已经创建了一个RDS postgres实例(m4.xlarge),具有200GB的存储空间(配置的IOPS)。我们正在尝试使用DataStage将数据从公司数据集市上传到RDS中的23个表中。但是上传速度相当慢。加载40万条记录大约需要6个小时 然后,我开始根据以下参数调整以下参数: 除此之外,我还关闭了multi-AZ和备份。虽然启用了SSL,但不确定这是否会改变任何内容。然而,经过所有的改变,仍然没有多大的改善。DataStage正在并行上传数据,已经有12个线程。写入IOPS约为40/
除此之外,我还关闭了
multi-AZ
和备份。虽然启用了SSL,但不确定这是否会改变任何内容。然而,经过所有的改变,仍然没有多大的改善。DataStage正在并行上传数据,已经有12个线程。写入IOPS约为40/秒。这个值正常吗?我还能做些什么来加速数据传输吗 在Postgresql中,您必须为编写的每个insert语句等待1次完整的往返(延迟)。此延迟是从数据库一直到加载数据的机器之间的延迟
在AWS中,有许多选项可以提高性能
您的RDS实例是否可以公开访问?它是否还要通过NAT或其他网络瓶颈(代理、VPN等)。。您是否仍启用了一组索引?另外,您的数据有多大(meg,而不是行)@JoeLove实例是可公开访问的,没有代理或vpn等。总数据约为50GB。在5小时内加载了大约10GB的数据。您是否从AWS以外的地方加载数据?如果您没有将数据复制到EC2实例并尝试从那里加载数据,那么您可能看到了您和RDS之间往返时间的影响。或者,尝试更多线程来部分补偿往返。如果批次大小确实进行了批处理,则将由ETL工具DataStage确定。不是通过RDS PostgreSQL。
autovacuum 0
checkpoint_completion_target 0.9
checkpoint_timeout 3600
maintenance_work_mem {DBInstanceClassMemory/16384}
max_wal_size 3145728
synchronous_commit off