Combattre le retard de réplication MySQL

le 24/09/2008 à 23:03
Combattre le retard de réplication MySQL
En substance, pour combattre le retard de réplication, il est recommandé de réduire la taille des requêtes. C'est à dire, ne pas lancer de modifications importantes qui risquent de prendre beaucoup de temps. Update, delete, insert (sur le maître), ou group by, select (sur l'esclave) : tout ce qui prend trop de temps, va pénaliser la réplication.

Une des raisons à garder en tête est que le maître va exécuter toutes les requêtes de réplications en mode simultané (les utilisateurs lancent des requêtes concurrentes), alors que les esclaves vont les exécuter en mode séquentiel : les requêtes sont passées par le log binaire, et sont mises les unes après les autres. Ainsi, trois updates distincts qui travaillent sur différentes données durant 5 secondes, mettront 5 secondes sur le maître, et en fait 15 secondes sur l'esclave (nonobstant les accélérations possibles lié aux tâches non-liées).

Le 'Query Chopping' ou découpage de requêtes, semble être l'arme à adopter pour ne pas surcharger la réplication. Plus de requêtes, mais moins longtemps. Les partitions seront sûrement une arme aussi.

- Fighting MySQL Replication Lag

Commentaires

Ecrire

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours