30 janvier 2019

BoĂźte Ă  outils Percona

Nous profilons nos requĂȘtes MySQL avec Percona Toolkit.

Le profilage de requĂȘte SQL est un processus qui implique une analyse dĂ©taillĂ©e de l'efficacitĂ© d'une requĂȘte SQL dans une base de donnĂ©es. Ce processus aide les dĂ©veloppeurs de bases de donnĂ©es Ă  identifier les bogues potentiels, les goulots d'Ă©tranglement, les inefficacitĂ©s ou les problĂšmes de performances qui peuvent entraver la vitesse et l'efficacitĂ© des requĂȘtes SQL.

Le profilage des requĂȘtes peut ĂȘtre absolument essentiel pour garantir les performances optimales d'une application. Un nombre important de problĂšmes de performances peuvent ĂȘtre rĂ©solus en optimisant les requĂȘtes SQL. Ces optimisations peuvent inclure la rĂ©duction du nombre de requĂȘtes exĂ©cutĂ©es, la modification des requĂȘtes pour utiliser des index plus efficaces ou la refonte des structures de donnĂ©es pour rĂ©duire le temps de traitement.

Examinons maintenant certains des avantages de l'optimisation des requĂȘtes SQL :

  1. AmĂ©lioration des performances : les requĂȘtes optimisĂ©es peuvent effectuer des opĂ©rations plus rapidement que les requĂȘtes non optimisĂ©es. Cela se traduit par une augmentation globale des performances de l'application ou du systĂšme.
  2. EfficacitĂ© des ressources: Les requĂȘtes efficaces nĂ©cessitent moins de ressources systĂšme, telles que la mĂ©moire et le processeur. Cela signifie que le systĂšme peut gĂ©rer plusieurs demandes simultanĂ©ment, ce qui amĂ©liore la capacitĂ© de servir plusieurs utilisateurs simultanĂ©ment.
  3. RĂ©ponse plus rapide: Une requĂȘte optimisĂ©e rĂ©duit le temps d'attente de l'utilisateur final. L'expĂ©rience de l'utilisateur final sera donc amĂ©liorĂ©e, car l'utilisateur n'aura pas Ă  attendre longtemps pour obtenir des rĂ©ponses Ă  ses demandes.
  4. ÉvolutivitĂ©: Une base de donnĂ©es avec des requĂȘtes optimisĂ©es sera plus facile Ă  mettre Ă  l'Ă©chelle, car chaque requĂȘte utilise moins de ressources et le traitement est effectuĂ© plus rapidement. Il en rĂ©sulte un systĂšme plus rĂ©sistant Ă  mesure que la charge augmente.

N'oubliez pas que l'objectif principal est de s'assurer que vos applications ou systĂšmes sont efficaces, rĂ©actifs et Ă©volutifs. Le profilage et l'optimisation des requĂȘtes SQL est une Ă©tape critique pour atteindre cet objectif.

Introduction Ă  la boĂźte Ă  outils Percona.

Percona est une société internationalement reconnue pour son expertise dans l'industrie des bases de données open source, spécialisée dans la fourniture de logiciels et de services innovants pour MySQL, MariaDB, MongoDB et PostgreSQL. Il fournit des solutions aux clients du monde entier pour améliorer l'efficacité, les performances et l'évolutivité de leurs bases de données. Percona s'engage à développer des outils et des techniques pour aider les développeurs et les administrateurs de bases de données à mieux gérer leurs systÚmes.

L'un des outils les plus connus et les plus utilisés de Percona est le Percona Toolkit. Cet ensemble d'outils avancés est conçu pour gérer la plupart des tùches complexes et répétitives auxquelles sont confrontés les administrateurs de bases de données. Percona Toolkit peut aider à rendre ces opérations plus efficaces, plus fiables et plus sécurisées.

Le Toolkit est une collection de plus de 30 outils avancĂ©s pour les administrateurs et dĂ©veloppeurs MySQL. Ces outils traitent une variĂ©tĂ© de problĂšmes et de tĂąches allant de la gestion de la rĂ©plication, du profilage des requĂȘtes, de la sauvegarde des donnĂ©es Ă  la vĂ©rification de la cohĂ©rence des donnĂ©es.

Parmi les principales fonctionnalitĂ©s de Percona Toolkit, la possibilitĂ© de profiler des requĂȘtes SQL est parmi les plus apprĂ©ciĂ©es. L'outil de profilage de requĂȘte, connu sous le nom de pt-query-digest, peut analyser les journaux de requĂȘte MySQL pour dĂ©terminer oĂč la base de donnĂ©es passe son temps. pt-query-digest fournit une vue complĂšte des requĂȘtes SQL qui ont Ă©tĂ© exĂ©cutĂ©es, permettant aux administrateurs de base de donnĂ©es d'identifier facilement les requĂȘtes qui prennent le plus de temps ou de ressources.

Un autre outil notable inclus dans le Percona Toolkit est pt-table-checksum, qui peut ĂȘtre utilisĂ© pour vĂ©rifier la cohĂ©rence des donnĂ©es entre un serveur MySQL maĂźtre et ses esclaves. Cet outil est particuliĂšrement utile pour maintenir la synchronisation des donnĂ©es dans un environnement de rĂ©plication.

Percona Toolkit offre un certain nombre d'avantages aux administrateurs de bases de donnĂ©es :

  1. Optimisation des performances: Percona Toolkit peut aider Ă  identifier les requĂȘtes SQL qui consomment le plus de ressources et de temps. Cela peut entraĂźner des amĂ©liorations significatives des performances de la base de donnĂ©es.
  2. Sécurité et fiabilité: Les outils inclus dans la boßte à outils sont développés avec un fort accent sur la sécurité et la fiabilité, aidant à prévenir les problÚmes pouvant entraßner des pertes de données ou des interruptions de service.
  3. Gain de temps: Percona Toolkit peut automatiser de nombreuses tĂąches rĂ©pĂ©titives auxquelles sont confrontĂ©s les administrateurs de bases de donnĂ©es, ce qui permet de gagner un temps prĂ©cieux qui peut ĂȘtre utilisĂ© pour d'autres tĂąches.
  4. Compatibilité: Percona Toolkit est compatible avec MySQL, Percona Server pour MySQL, MariaDB et d'autres variantes de MySQL.

Percona Toolkit est un outil essentiel pour les administrateurs de bases de donnĂ©es qui souhaitent amĂ©liorer les performances de leurs systĂšmes, gagner du temps et maintenir la sĂ©curitĂ© et la fiabilitĂ© de leurs bases de donnĂ©es. Ses puissantes capacitĂ©s de profilage des requĂȘtes SQL en font un outil trĂšs prĂ©cieux pour optimiser les performances de la base de donnĂ©es.

BoĂźte Ă  outils Percona Query Digest

Le pt-query-digest est un composant essentiel de la boĂźte Ă  outils Percona et a Ă©tĂ© spĂ©cialement conçu pour analyser, agrĂ©ger et rapporter des statistiques sur les requĂȘtes SQL exĂ©cutĂ©es sur une base de donnĂ©es MySQL. Cet outil vise Ă  identifier les requĂȘtes les plus longues Ă  exĂ©cuter ou Ă  consommer le plus de ressources, en fournissant une image dĂ©taillĂ©e des opĂ©rations de la base de donnĂ©es et en permettant aux dĂ©veloppeurs et aux administrateurs de se concentrer sur les domaines nĂ©cessitant une optimisation.

Pt-query-digest peut analyser une variĂ©tĂ© d'entrĂ©es, y compris les journaux de requĂȘtes MySQL lents, les listes de processus en cours d'exĂ©cution et les fichiers journaux binaires. L'outil peut ensuite produire un rapport rĂ©sumant les requĂȘtes, en les triant par ordre de coĂ»t total (le temps total passĂ© Ă  exĂ©cuter une requĂȘte particuliĂšre). Cela facilite l'identification des requĂȘtes qui ont un impact nĂ©gatif sur les performances de la base de donnĂ©es.

De plus, pt-query-digest ne dĂ©tecte pas seulement les requĂȘtes lentes, il peut Ă©galement identifier les anomalies et les modĂšles dans les requĂȘtes, ce qui peut ĂȘtre d'une grande aide pour dĂ©tecter les problĂšmes potentiels ou les bogues dans votre code d'application.

Parmi les principaux avantages de pt-query-digest figurent :

  1. Identification des requĂȘtes problĂ©matiques: Pt-query-digest permet aux administrateurs de base de donnĂ©es d'identifier rapidement les requĂȘtes qui consomment le plus de temps ou de ressources, leur permettant de se concentrer sur l'optimisation de ces requĂȘtes.
  2. PrĂ©vention des problĂšmes de performance: GrĂące Ă  sa capacitĂ© Ă  identifier les modĂšles et les anomalies dans les requĂȘtes, pt-query-digest peut aider Ă  prĂ©venir les problĂšmes de performances avant qu'ils ne deviennent critiques.
  3. Optimisation des performances de la base de donnĂ©es: Pt-query-digest fournit des donnĂ©es prĂ©cieuses qui peuvent ĂȘtre utilisĂ©es pour optimiser les performances de la base de donnĂ©es. Cela peut inclure la modification de requĂȘtes problĂ©matiques, la modification de la structure de la base de donnĂ©es ou la modification des paramĂštres du serveur MySQL.
  4. Analyse dĂ©taillĂ©e: Pt-query-digest fournit une analyse dĂ©taillĂ©e des requĂȘtes SQL, permettant d'identifier les goulots d'Ă©tranglement ou les inefficacitĂ©s dans les requĂȘtes. Cette analyse peut ĂȘtre trĂšs utile pour le rĂ©glage des performances.

En conclusion, pt-query-digest est un outil puissant et polyvalent qui peut fournir des informations précieuses sur les performances de la base de données, permettant aux administrateurs et aux développeurs d'améliorer l'efficacité et la vitesse de leurs applications.

Un exemple d'utilisation pratique de Percona Toolkit Query Digest.

Depuis quelques mois, j'utilise MySQL avec quelques problĂšmes sur le serveur d'un client. J'avais installĂ© MySQL, MariaDB et Percona SQL Server avec les mĂȘmes donnĂ©es.

AprĂšs quelques jours, j'ai regardĂ© les journaux de requĂȘtes lentes et j'ai vu que la taille du fichier Ă©tait d'environ 300 Mo. L'analyse du dossier aurait pu prendre beaucoup de temps mais BoĂźte Ă  outils Percona aidĂ©. La boĂźte Ă  outils peut fonctionner avec MySQL, MariaDB ou Percona SQL Server. Il contient beaucoup de commandes, mais je n'en ai qu'une pour analyser la requĂȘte lente et rapporter les rĂ©sultats.

Le journal des requĂȘtes lentes a une taille d'environ 300 Mo. Il faudrait beaucoup d'efforts pour faire dĂ©filer et dĂ©couvrir ce qui s'est passĂ© et analyser tous les enregistrements. Voici comment Percona Toolkit a Ă©normĂ©ment aidĂ© :

La commande 'pt-query-digest' de percona-toolkit prend le journal des requĂȘtes lentes et gĂ©nĂšre un rĂ©sumĂ© qui est plus ou moins similaire Ă  mysql.

pt-query-digest/var/log/mysql/slow_query_log

Celui-ci contient le fichier et produit un rapport conforme au rapport ADDM que nous obtenons dans Oracle.

Vous trouverez ci-dessous un rĂ©sumĂ© de l'analyse du fichier brut de 300 Mo :

Tout se rĂ©sume Ă  6 requĂȘtes qui nĂ©cessitent notre attention. De plus, parmi les six, l'optimisation des deux premiers d'entre eux a bĂ©nĂ©ficiĂ© d'une amĂ©lioration de prĂšs de 90 %.

Donc, si vous utilisez une base de donnĂ©es basĂ©e sur MySQL, boĂźte Ă  outils percona c'est un outil indispensable .

Je n'ai utilisĂ© cette seule commande que par nĂ©cessitĂ©, bien qu'elle soit trĂšs puissante et robuste, parcourez les autres commandes donnĂ©es dans le lien ici

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 The 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ℱ ; 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. Hetzner Online GmbH dĂ©tient les droits sur HetznerÂź ; OVHcloud est une marque dĂ©posĂ©e d'OVH Groupe SAS ; cPanelÂź, LLC dĂ©tient les droits sur cPanelÂź ; PleskÂź est une marque dĂ©posĂ©e de Plesk International GmbH ; Facebook, Inc. dĂ©tient les droits sur FacebookÂź. Ce site n'est affiliĂ©, sponsorisĂ© ou autrement associĂ© Ă  aucune des entitĂ©s mentionnĂ©es ci-dessus et ne reprĂ©sente en aucune maniĂšre aucune de ces entitĂ©s. 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