Je souhaite réduire le temps de restauration des instantanés de mon instance Amazon Relational Database Service (Amazon RDS) pour MySQL.
Brève description
Les temps longs de restauration des instantanés sont généralement dus à de longues reprises de bases de données. Le temps de reprise d’une base de données est basé sur la charge de travail de l'instance au moment de la création de l’instantané. Si vous avez activé la journalisation binaire sur votre instance de base de données source, le temps de restauration et de reprise de l’instantané peut prendre plus de temps.
Lorsque vous restaurez un instantané, Amazon RDS exécute un processus de reprise et le moteur de base de données MySQL est démarré sur une nouvelle instance de base de données. Selon le temps de la session de reprise, le démarrage de la nouvelle instance de base de données peut prendre jusqu'à quelques minutes. Pour plus d'informations, consultez la section Reprise après incident d’InnoDB sur le site Web de MySQL.
Remarque : Tant que le volume n'est pas complètement restauré à partir d'Amazon Simple Storage Service (Amazon S3), vous rencontrez des problèmes de latence ou de chargement différé. Pour en savoir plus, consultez la section Reprise ponctuelle d'un instantané de base de données.
Pour une reprise ponctuelle (PITR), consultez la section Pourquoi la reprise ponctuelle de mon instance Amazon RDS pour MySQL prend-elle beaucoup de temps ?
Résolution
Pour réduire le temps de restauration d’un instantané, utilisez les bonnes pratiques suivantes :
- Planifiez une fenêtre de sauvegarde ou prenez un instantané manuel de votre instance de base de données durant les heures creuses. Lorsque vous prenez un instantané, les activités que vous effectuez sur l'instance de base de données source ont une incidence sur les temps de reprise de la base de données et de l’instantané.
- Si une instance source utilise le type de stockage magnétique lors d'un instantané, l'instance restaurée est à l’état Modification. Par exemple, un changement de volume se produit lorsque vous restaurez un instantané de base de données en tant que stockage de type SSD à usage général gp2 ou IOPS provisionnées.Pendant cette période, vous pouvez vous connecter à une instance Amazon RDS, mais les performances risquent de se dégrader.
- Restaurez temporairement votre instance vers une classe d'instance de base de données supérieure. Lorsque vous mettez à niveau la classe d'instance de base de données, vous gagnez temporairement plus de ressources et les temps de reprise après incident diminuent. Une fois la restauration de l’instantané terminée, vous pouvez réduire verticalement la classe d'instance.
Pour réduire le temps de restauration des instantanés pour lesquels la journalisation binaire est activée, utilisez les bonnes pratiques suivantes :
- Pour réduire les temps de reprise de binlog, évitez les transactions volumineuses et les fichiers binlog de grande taille. Les journaux binaires contenant une grande quantité de données sont confrontés à un temps de reprise des fichiers binlog plus long. De plus, les temps de restauration des instantanés augmentent.
- Utilisez la taille de transaction appropriée. Les transactions volumineuses sont écrites dans le fichier journal binaire en une seule fois et ne sont pas réparties entre différents fichiers. Par conséquent, le fichier journal binaire est volumineux et le temps de reprise après incident augmente.
- Utilisez le format de journalisation binaire approprié. Les formats de journalisation binaires peuvent affecter la taille et l'efficacité de la reprise après incident. Pour plus d'informations, consultez la section Utilisation de la journalisation et de la réplication basées sur des lignes sur le site Web de MySQL. Pour plus d'informations sur les formats de journalisation binaires, consultez la section Avantages et inconvénients de la réplication basée sur des instructions et des lignes sur le site Web de MySQL.
Remarque : Pour effectuer un chargement différé plus rapidement, utilisez un type d'instance Amazon RDS et un volume Amazon Elastic Block Store (Amazon EBS) avec un débit plus élevé. Une fois le chargement différé terminé, vous pouvez rétrograder le type de classe d'instance et réduire la valeur des IOPS et du débit.