1

merci les gars d'avance.Comment dupliquer plus rapidement une base de données postgres sur la même instance RDS?

J'ai un 60Go Postgres RDS sur aws, et il est databaseA dans ce RDS exemple, je veux faire un double de databaseA appelé databaseB dans le même serveur RDS.

Donc, fondamentalement, ce que j'ai essayé est d'exécuter CREATE DATABASE databaseB WITH TEMPLATE databaseA OWNER postgres; Cette seule requête a pris 6 heures à compléter, ce qui est trop lent. Je vois le maximum IOPS au cours du processus est de 120, pas même proche de la limite de la limite générale de SSD aws 10 000 IOPS. J'ai également essayé de régler work_mem, shared_buffers, effective_cache_size dans le groupe de paramètres, il n'y a pas d'améliorations du tout.

Ma dernière option consiste simplement à créer deux instances RDS distinctes, mais cela sera beaucoup plus facile si je peux le faire dans une instance. J'apprécierais toutes les suggestions.

(La classe d'instance est db.m4.xlarge)

+0

De quelle classe est votre instance RDS? Avez-vous essayé une classe d'instance RDS plus puissante? –

+0

C'est 'db.m4.xlarge' –

+0

Pour le stockage SSD, vous n'obtenez pas automatiquement 10 000 IOPS. L'IOPS max dépend de la taille. Essayez (a) d'augmenter la taille de votre stockage, ou (b) passez aux IOPS provisionnées. –

Répondre

1

Comme mentionné par Matt; vous avez deux options:

  1. Augmentez la taille de votre serveur, ce qui vous donnera plus d'IOPS.
  2. Passer à provisionnés IOPS

Comme il est une exigence temporaire, je partirai avec 1 car u peut passer à max. serveur disponible -> copier la base de données -> rétrograder le serveur db de façon transparente et ne prendra pas beaucoup de temps. Passer d'un SSD à un IOPS provisionné prendra beaucoup de temps car il a besoin de convertir vos données et donc d'augmenter vos temps d'arrêt. Et plus tard, lorsque vous reviendrez des iops provisionnés au SSD, cela prendra du temps.

Notez que les deux 1 & 2 sont chers (si vous n'en avez vraiment pas besoin) s'ils sont utilisés à long terme; donc tu ne peux pas le laisser tel quel.