10 juillet 2019

Sauvegarde MySQL lente et serveur en panne lorsque Google passe

Comment faire une sauvegarde MySQL extrêmement rapide et non bloquante ?

Percona Xtrabackup contre MySQLdump

Une des problématiques peu explorées dans le monde du SEO et souvent méconnue des professionnels n'ayant pas de compétences sur les systèmes Linux, concerne les difficultés de disponibilité d'un site internet lors des opérations de sauvegarde de base de données MySQL. Ce défi est également méconnu de nombreux ingénieurs système qui, bien qu’excellant dans la gestion technique des systèmes, ont des connaissances limitées en SEO et sont incapables de saisir pleinement les répercussions de ces activités sur le positionnement du site dans les moteurs de recherche.

En règle générale, les activités de maintenance et de sauvegarde sont planifiées la nuit, lorsque l'on s'attend à une réduction du trafic et à une moindre charge sur le serveur. Toutefois, un problème important pourrait surgir si les robots d'exploration de Google, chargés d'analyser et d'indexer de nouveaux contenus, se retrouvaient à fonctionner pendant cette période.

Dans un contexte idéal, où la sauvegarde a été soigneusement conçue et créée avec des outils avancés, compte tenu de la taille de l'ensemble de données, le processus devrait se dérouler sans problème, permettant à Google de mener à bien ses opérations sans être perturbé. Au lieu de cela, une sauvegarde mal conçue peut entraîner des conséquences importantes, telles que l'incapacité des robots d'exploration à accéder au contenu du site, en raison d'erreurs de type 500 qui indiquent des dysfonctionnements du serveur.

Si cela se produit, le « budget d'exploration », c'est-à-dire les ressources que Google consacre à l'exploration d'un site, pourrait être rapidement épuisé, empêchant la récupération et l'indexation de nouveaux contenus. Cela peut non seulement empêcher la mise à jour rapide des informations du site dans les moteurs de recherche, mais également nuire au classement et à la réputation à long terme du site. Une fréquence d'erreurs élevée, ou un « taux d'erreurs » élevé, peut en effet influencer négativement la visibilité du site dans les résultats de recherche.

Il est donc crucial que les opérations de sauvegarde soient effectuées avec le plus grand soin, en tenant compte de tous les aspects techniques et logistiques, pour éviter tout désagrément et garantir une indexation constante et correcte du site par Google. Il s’agit d’un défi qui nécessite une collaboration efficace entre les experts SEO et les ingénieurs systèmes Linux, afin que les deux parties puissent comprendre et traiter efficacement l’ensemble des implications de ces opérations critiques.

Mais pourquoi cela arrive-t-il ?

Pour comprendre les causes de ces problèmes – pas excessivement fréquents, mais pas rares non plus – il est nécessaire d’examiner attentivement les pratiques opérationnelles standards d’un hébergeur, avec une attention particulière à la gestion des sauvegardes au niveau du serveur. Cette analyse doit inclure une analyse approfondie des dynamiques spécifiques qui sont activées lors de la sauvegarde d'une base de données d'un site Web.

Imaginons une situation où, au moment où l'hébergeur sauvegarde des données, notre site reçoit une demande externe. Cette requête, traitée via le langage de script PHP, implique l'exécution de plusieurs requêtes SQL dirigées vers la base de données. Dans ce contexte, que se passe-t-il ?

Si la gestion des sauvegardes est inefficace, le résultat serait une sauvegarde « sale », compromise par les interactions simultanées avec la base de données. Par exemple, si lors de la sauvegarde nous mettons à jour un enregistrement dans une table de données personnelles sans mettre à jour simultanément la table de codes fiscaux correspondante, nous nous retrouverions avec une sauvegarde qui ne reflète pas fidèlement l'état actuel des données, manquant un élément fondamental.

Dans un environnement bien organisé et selon des normes d'exploitation consolidées, la tâche d'effectuer la sauvegarde serait confiée à l'administrateur système ou à un panneau de contrôle qui utilise "mysqldump" avec des paramètres de verrouillage. Ces paramètres vous permettent de verrouiller les tables en lecture et en écriture pendant la sauvegarde, garantissant ainsi l'intégrité et la cohérence des données. Cependant, cette méthodologie peut également présenter des limites, telles que la génération de problèmes de verrouillage pouvant bloquer les ressources pendant le processus. En conséquence, les requêtes peuvent ne pas être traitées dans le délai fixé par le serveur Web, ce qui entraîne un timeout ou, pire encore, un « blocage » prolongé du robot, ce qui entraînerait également des délais d'attente du côté du robot.

Pour éviter de tels problèmes, il est essentiel de prendre des précautions ciblées. Une analyse approfondie du scénario, qui prend en compte des facteurs tels que la technologie utilisée, la taille de l'ensemble de données, le type de tables impliquées et le budget du client, est essentielle. Cela vous permet de planifier sereinement la solution la plus appropriée et la plus économique, répondant aux besoins du client sans compromettre la qualité et l'efficacité de la sauvegarde.

Sauvegarde MySQL via mysqldump

Utiliser mysqldump pour sauvegarder des bases de données MySQL est une méthode extrêmement courante et facile à appliquer, même si elle est souvent critiquée pour certaines de ses limites. Sa large diffusion vient du fait que mysqldump est inclus dans les programmes clients MySQL, étant donc préinstallé dans la plupart des environnements. Cet outil est capable d'effectuer des sauvegardes logiques, vous donnant la flexibilité de sauvegarder des bases de données entières, une base de données spécifique, toutes les tables ou des tables individuelles au sein d'une base de données. Le dump produit est envoyé vers la sortie standard, ce qui vous permet de rediriger facilement la sortie vers d'autres programmes pour augmenter l'interopérabilité. Un exemple classique consiste à lier la sortie de mysqldump avec gzip pour compresser les données, puisque mysqldump n'intègre pas de fonction de compression.

Malgré ces fonctionnalités utiles, mysqldump présente quelques problèmes importants, notamment lorsqu'il s'agit de gérer de grandes bases de données. La lenteur des sauvegardes dans de tels contextes est l'un des plus grands défis. Cette inefficacité est imputable non seulement à la nature des sauvegardes logiques, dont la réalisation prend plus de temps que les sauvegardes physiques, mais également au fait que la sauvegarde et la restauration reposent sur des processus monothread. De plus, le dump généré comprend un ensemble complet d'instructions SQL, couvrant soit la création de tables, soit l'insertion de données, ou les deux. Cette approche, bien que bénéfique pour la portabilité et la flexibilité des sauvegardes, peut augmenter considérablement le temps et les ressources nécessaires pour terminer l'opération, en particulier dans les environnements à gros volumes de données.

L'utilisation de mysqldump pour sauvegarder les bases de données MySQL, Percona Server ou MariaDB est souvent considérée comme n'étant plus adéquate, surtout dans le contexte technologique actuel de 2023, qui a considérablement évolué par rapport à 2005. Cette réflexion devrait vous pousser, ainsi que votre hébergeur, à reconsidérer l'utilisation de cet utilitaire, notamment dans le cadre de bases de données volumineuses, dont la taille peut se mesurer en gigaoctets. À une époque d’évolution technologique continue, l’adhésion à des méthodologies obsolètes pourrait représenter une limitation importante, en particulier pour les projets ambitieux et critiques. Si votre fournisseur ne souhaite pas évoluer, il peut être intéressant d'envisager un changement de fournisseur, surtout si la réussite de votre projet est une priorité.

Mysqldump fonctionne en extrayant le contenu des tables ligne par ligne, ou en copiant l'intégralité du contenu de la table dans une mémoire tampon avant de procéder à la sauvegarde. Cette dernière méthode peut s’avérer problématique pour les grandes tables, entraînant des ralentissements et des inefficacités importants.

L'objectif principal de mysqldump est de générer un fichier .sql, appelé dump, qui inclut toutes les instructions nécessaires pour recréer la base de données. Pour garantir une sauvegarde cohérente, mysqldump utilise des paramètres de verrouillage de table spécifiques : par exemple, utilisez l'option –single-transaction pour les tables InnoDB et –lock-tables pour les tables MyISAM.

Pour les petites bases de données, allant de quelques à dix mégaoctets, mysqldump peut être un choix raisonnable, ne prenant que quelques secondes environ pour générer un dump .sql. Cependant, avec des bases de données plus volumineuses, mesurées en gigaoctets, le processus de sauvegarde peut devenir extrêmement long, allant de quelques dizaines de minutes à plusieurs heures.

Pendant cette période, la base de données reste dans un état verrouillé, bloquant toutes les opérations de lecture et d'écriture. Cette situation peut entraîner non seulement des ralentissements dans les opérations quotidiennes, mais également des problèmes avec les robots des moteurs de recherche, tels que Google, qui peuvent rencontrer des erreurs de serveur lors de l'exploration du site. Ces problèmes peuvent avoir des répercussions négatives sur le positionnement et la visibilité du site dans les résultats de recherche, ce qui rend crucial le choix d'une méthode de sauvegarde plus efficace et ayant moins d'impact sur le fonctionnement normal de la base de données et du site Web.

502 Passerelle incorrecte nginx

Percona XtraBackup. Comment faire une sauvegarde MySQL comme un pro.

Alors que la méthode énumérée ci-dessus effectue des sauvegardes logiques, avec une lenteur exténuante, une telle approche devient inutilisable lorsqu'une base de données commence à croître de quelques gigaoctets.  Xtrabackup est le logiciel de sauvegarde physique MySQL le plus populaire.

Percona est une société leader en bases de données, spécialisée dans les solutions MySQL, MariaDB, MongoDB et PostgreSQL. Elle est réputée pour ses services de conseil, de support technique et de logiciels dédiés à l'optimisation des performances et à la fiabilité des bases de données. Parmi les produits développés par Percona, l'un des plus importants est Percona XtraBackup.

Percona XtraBackup se distingue comme l'un des outils de sauvegarde physique les plus avancés et les plus fiables pour MySQL et MariaDB. Ce logiciel offre un moyen efficace et sécurisé d'effectuer des sauvegardes complètes, sans interrompre le service de la base de données. XtraBackup est connu pour sa capacité à effectuer des sauvegardes « à chaud », c'est-à-dire pendant que la base de données est en cours d'exécution, éliminant ainsi le besoin d'arrêter ou de ralentir les opérations pendant le processus de sauvegarde.

Percona XtraBackup représente une solution avancée pour effectuer des sauvegardes professionnelles de bases de données MySQL, dépassant les limites de l'approche traditionnelle mysqldump. Dans l'environnement actuel, avec des bases de données en constante évolution, souvent mesurées en gigaoctets, l'approche logique et lente de mysqldump devient peu pratique. XtraBackup, développé par la célèbre société Percona, connue pour ses solutions innovantes dans le domaine des bases de données, propose une méthode de sauvegarde physique beaucoup plus efficace.

Ce logiciel permet de créer des sauvegardes « à chaud », c'est à dire sans avoir besoin d'interrompre le fonctionnement du serveur de base de données. Il est nettement plus rapide que mysqldump et prend en charge les sauvegardes totalement non bloquantes, à condition que toutes les tables soient de type InnoDB ou XtraDB. XtraBackup peut à la fois créer des fichiers de sauvegarde locaux et diffuser une sortie standard, ce qui en fait un outil extrêmement polyvalent. Par exemple, vous pouvez utiliser des outils tels que gof3r pour diffuser des sauvegardes sur Amazon S3, vous permettant ainsi de télécharger votre sauvegarde directement sur le cloud sans avoir à la stocker localement. Même si la taille des sauvegardes est presque aussi grande que l'ensemble de la base de données, XtraBackup prend en charge la compression des sauvegardes à l'aide de qpress, réduisant ainsi considérablement la taille finale. Une fonctionnalité remarquable est également la possibilité de chiffrer les sauvegardes ou le streaming avec des normes telles que AES128, AES192 et AES256.

L'un des principaux avantages de XtraBackup est sa capacité à effectuer des sauvegardes sans bloquer la base de données, lui permettant ainsi de continuer à répondre aux requêtes, même des visiteurs nocturnes, des robots et des robots d'exploration. Cet aspect est essentiel pour éviter les interruptions de service et les problèmes de référencement dus aux temps d’arrêt.

Pour comprendre le contraste entre mysqldump et XtraBackup, il est utile d'analyser le fonctionnement de mysqldump. Cet outil verrouille les tables, procède à la sauvegarde et enfin déverrouille les tables. Cette procédure, bien qu'efficace pour les petites bases de données, devient lourde et prend du temps avec des bases de données plus volumineuses, provoquant des périodes d'indisponibilité et d'éventuels problèmes d'accès aux bases de données.

Percona Le binlog enregistre toutes les modifications apportées aux données ou aux structures de données de la base de données, y compris les instructions SQL et les modifications au niveau du schéma. Percona XtraBackup utilise ces informations pour effectuer des sauvegardes « à chaud », sans interrompre ni bloquer la base de données. Cela permet de réduire les temps d'arrêt et d'augmenter la disponibilité de la base de données, tout en maintenant des opérations ininterrompues.

En résumé, alors que mysqldump nécessite une sauvegarde « à froid » avec un temps d'arrêt potentiel, Percona XtraBackup utilise binlog pour une sauvegarde « à chaud » qui minimise l'impact sur les opérations de la base de données tout en garantissant une récupération efficace et rapide. Cette technologie avancée offre une amélioration considérable en termes d'efficacité et de fiabilité, faisant de XtraBackup un choix privilégié pour les professionnels et les entreprises gérant de grandes bases de données.

Performances MySQLdump VS Percona XtraBackup

Si on veut toucher des nombres réels ou mesurer pour décider, on peut voir brièvement un benchmark entre les deux outils pour comprendre de quoi on parle et pourquoi mysqldump doit être considéré comme un jouet inapproprié pour les systèmes en production, allant créer des sauvegardes mysql lentes .

De notre examen, il est clair que, même en travaillant sur le même ensemble de données de 73 Go, une sauvegarde effectuée avec mysqldump est même 50 fois plus lente qu'une effectuée avec Percona XtraBackup. Cela signifie qu'une sauvegarde qui pourrait prendre des heures avec mysqldump pourrait être effectuée en quelques minutes avec Percona XtraBackup. Cela peut faire une différence significative pour les entreprises qui doivent effectuer fréquemment des sauvegardes de bases de données et qui visent à minimiser les temps d'arrêt.

Il est également important de souligner que Percona XtraBackup est un logiciel entièrement gratuit, sans aucune limitation. Actuellement, il est considéré comme la meilleure solution de sauvegarde disponible pour les systèmes basés sur MySQL et ses dérivés. La valeur offerte par cet outil est telle qu'il surpasse même MySQL Enterprise Backup, un produit développé par l'équipe de développeurs MySQL elle-même.

Sur un ton nettement sarcastique, il convient de noter que MySQL Enterprise Backup est proposé au prix pas vraiment modeste de 5000 XNUMX $ par serveur et par an. Cela rend l'offre de Percona XtraBackup encore plus impressionnante, étant donné qu'elle offre non seulement une solution de sauvegarde de haute qualité, mais qu'elle le fait sans frais. Cela démontre que Percona XtraBackup est un excellent choix en termes de performances et de rapport qualité-prix pour les entreprises utilisant MySQL ou un dérivé de celui-ci comme système de gestion de base de données.

Bref, il n'y a aucune raison de ne pas utiliser Percona XtraBackup autre que la superficialité et l'ignorance manifeste.

Utilisez-vous des panels comme cPanel ou Plesk ? Attention, ils utilisent aussi mysqldump

Malheureusement, l'amateurisme et la négligence ne concernent pas seulement les ingénieurs système du dimanche et les bricoleurs improvisés mais aussi les entreprises d'une certaine profondeur qui produisent des panneaux de contrôle commerciaux tels que cPanel ou Plesk.

En fait, en lisant sur leur site Web, nous pouvons lire en janvier 2019 concernant l'utilisation de Percona :

De plus, même par rapport à d'autres types de sauvegardes, voici un résumé simple qui montre pourquoi il faut utiliser cette façon de travailler au lieu d'improviser avec des utilitaires vétustes et très peu performants.

Percona XtraBackup est la seule solution capable de satisfaire toutes les exigences, il peut être utilisé de manière absolument rentable même avec une réplique MASTER/SLAVE mais c'est une autre affaire.

conclusion

En conclusion, si vous gérez fréquemment des sauvegardes de bases de données individuelles et de divers fichiers .sql dans votre espace de sauvegarde quotidienne ou hebdomadaire, il est peut-être temps d'envisager sérieusement certaines modifications majeures. Accepter les sauvegardes MySQL lentes et inefficaces comme la norme est non seulement inapproprié, mais aussi un signal d'alarme qui devrait vous inciter à remettre en question vos pratiques de sauvegarde.

Il est essentiel d’observer attentivement le comportement de votre site Internet. Si vous commencez à voir des erreurs fréquentes provenant de l'araignée de Google, c'est un signe clair que quelque chose dans le processus de sauvegarde ne fonctionne pas correctement. La situation devient encore plus préoccupante si vous constatez que votre fournisseur d'hébergement s'appuie toujours sur des outils obsolètes comme mysqldump pour les sauvegardes. Dans un tel scénario, vous devriez sérieusement envisager de changer de fournisseur, surtout si votre site Web est votre principale source de revenus et que votre fournisseur actuel n'utilise pas de solutions avancées comme Percona XtraBackup.

Notre intention n’est pas de dénigrer des individus ou des entreprises en particulier, mais plutôt de souligner à quel point une approche non professionnelle des sauvegardes peut présenter un risque réel non seulement pour la santé financière de votre entreprise, mais également pour votre tranquillité d’esprit personnelle. Un système de sauvegarde inefficace ou peu fiable peut entraîner des pertes de données graves, voire irréparables.

Votre entreprise mérite les meilleures solutions disponibles sur le marché. Passer à un fournisseur qui utilise Percona XtraBackup peut représenter une amélioration significative en termes de vitesse, d'efficacité et de sécurité. Prenez le temps d’examiner attentivement vos options. N'ayez pas peur de passer à l'étape suivante et de procéder à une mise à niveau lorsque vous réalisez que c'est nécessaire.

La décision d’adopter un système de sauvegarde plus efficace pourrait avoir un impact crucial sur l’avenir de votre entreprise. N’oubliez pas qu’une entreprise numérique sécurisée est une entreprise qui a le potentiel de croître et de prospérer de manière durable. Il est important d'investir dans la protection et la sécurité de vos données. N'attendez pas qu'il soit trop tard pour agir ; prenez l'initiative maintenant et assurez la sécurité et la stabilité de votre activité en ligne.

Vous avez des doutes ? Vous ne savez pas par où commencer ? Contactez-nous !

Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Facebook, Inc. détient les droits sur Facebook® ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

Retour en haut de page