Nous avons créé une instance RDS postgres (m4.xlarge) avec 200 Go de stockage (IOPS provisionnées). Nous essayons de télécharger des données du magasin de données de l'entreprise vers les 23 tables de RDS en utilisant DataStage. Cependant, les téléchargements sont assez lents. Il faut environ 6 heures pour charger les enregistrements 400K.Chargement des données dans Postgres RDS est toujours lent après l'ajustement des paramètres
Ensuite, j'ai commencé à affiner les paramètres suivants selon 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
Autre que ces derniers, je également désactivé multi AZ
et back-up. SSL est cependant activé, pas sûr que cela changera quoi que ce soit. Cependant, après tous les changements, toujours pas beaucoup d'amélioration. DataStage télécharge des données en parallèle déjà ~ 12 threads. L'écriture IOPS est d'environ 40/sec. Cette valeur est-elle normale? Y a-t-il autre chose que je puisse faire pour accélérer le transfert de données?
Votre instance RDS est-elle accessible au public? Est-ce qu'il passe par NAT ou d'autres goulets d'étranglement de réseau (proxies, VPN, etc) –
Encore une chose .. avez-vous un tas d'index encore activés? Aussi, quelle est la taille de vos données (méga, pas de lignes) –
@JoeLove l'instance est accessible au public sans proxy ou vpn, etc. Les données totales sont d'environ 50Go. Environ 10 Go de données ont été chargées en 5 heures. – ddd