MySQL est un système de gestion de base de données relationnelle open-source basé sur le langage de requête structuré (SQL). MySQL est utilisé par les équipes de développement dans une grande variété de cas d’utilisation, le plus souvent dans les applications d’entreposage de données, de commerce électronique et de journalisation. Cependant, son déploiement le plus populaire est dans les bases de données web, car il est très flexible, fiable et évolutif. Il peut être utilisé pour tout stocker, des enregistrements uniques d’informations aux inventaires complets de produits.

DNS-DPM-Banner-Horizontal_728x90

SQL Server, d’autre part, est un système commercial de gestion de base de données relationnelle d’abord développé par Microsoft. Comme MySQL, SQL Server prend en charge de nombreuses plateformes, notamment Linux, Microsoft Windows et les systèmes de serveurs Windows. Le plus souvent, SQL Server est utilisé par les développeurs pour les applications .Net et les projets Windows. En tant que produit commercial, SQL Server dispose d’une communauté de support plus large.

Dans ce guide, je passerai en revue certaines métriques pour aider vos efforts d’optimisation des performances. J’aborderai également certains des meilleurs outils SQL Server et MySQL du marché, y compris la solution que je recommande le plus vivement – SolarWinds® Database Performance Analyzer – en raison de ses fonctions de surveillance et d’analyse robustes qui ne ressemblent à aucun autre outil du marché.

mysql performance

Surveillance des performances de SQL et MySQL Meilleures pratiques
Meilleurs outils d’optimisation des performances de MySQL et SQL Server
La surveillance des bases de données est un impératif. Faites-le bien, faites-le constamment, et profitez

Monitoring SQL and MySQL Performance Best Practices

L’aspect le plus important de la surveillance de vos performances SQL est de prendre des décisions réfléchies sur les métriques et les alertes que vous devez surveiller. Bien que cela dépende en partie de votre organisation et de votre secteur d’activité, il est généralement judicieux de surveiller les processus suivants :

  • Processus requis en cours d’exécution
  • Points de défaillance courants
  • Utilisation des ressources
  • Exécutions de requêtes (échecs et achèvements)

En plus de surveiller ces processus, vous souhaitez également surveiller des métriques spécifiques liées à la santé des performances de votre vue MySQL. Les suivantes sont un bon point de départ:

  • Uptime : La seconde qu’il faut à un serveur pour répondre à une requête.
  • Threads connectés : Le nombre de clients actuellement connectés au serveur. Si personne n’est connecté ou s’il y en a trop, cela peut être un signe de problème.
  • Connexions utilisées maximum : Le nombre de connexions effectuées depuis le démarrage du serveur.
  • Connexions avortées : Le nombre de tentatives de connexion qui ont échoué. Un nombre trop élevé pourrait être le signe d’une activité suspecte.

Les équipes de développement doivent également s’assurer de surveiller les métriques des requêtes SQL pour s’assurer que la base de données remplit ses tâches de base. En voici quelques exemples :

  • Questions : Le nombre d’instructions envoyées par les clients.
  • Requêtes : Le nombre d’instructions exécutées, y compris les procédures stockées.
  • Demandes de lecture et d’écriture : Ce qui permet aux utilisateurs et aux développeurs d’accéder à la même page en temps réel.

Les autres métriques importantes à collecter pour réaliser l’optimisation des performances de SQL Server ou MySQL comprennent les erreurs SQL typiques. Ce sont les points de défaillance fréquents que vous devez toujours surveiller :

  • Erreurs : Vérifiez toujours qu’il n’y a pas d’erreurs sur le fichier mysql.log.
  • Taille des fichiers journaux : Inspectez les flux de journaux pour voir si tous les fichiers sont tournés correctement. Si ce n’est pas le cas, cela pourrait engorger votre serveur.
  • Fichiers journaux supprimés : Assurez-vous que le descripteur de fichier est fermé après la suppression de tout fichier journal.
  • Espace de sauvegarde : Assurez-vous toujours que vous avez suffisamment d’espace disque pour les sauvegardes.

Meilleurs outils d’optimisation des performances de MySQL et SQL Server

Tenter de capturer les métriques ci-dessus est difficile sans les bons outils. Les programmes suivants sont parmi les meilleurs outils pour surveiller en temps réel les bases de données SQL, que vous utilisiez MySQL, SQL Server ou une autre base de données relationnelle.

  1. SolarWinds Database Performance Analyzer for MySQL

dpa-anomaly-detection

SolarWinds Database Performance Analyzer (DPA) offre un outil complet de surveillance et d’analyse des performances des bases de données. C’est une excellente solution pour les administrateurs de bases de données, les équipes informatiques et les développeurs d’applications. Il prend en charge la surveillance en temps réel et analyse les instances de bases de données SQL pour atténuer les goulets d’étranglement, améliorer les services et réduire les coûts. Vous pouvez facilement comparer les mesures de performance de MySQL par rapport à celles de SQL Server si vous utilisez les deux types de bases de données.

Cette solution multiplateforme de surveillance des performances des bases de données fonctionne à la fois dans les bases de données en nuage et sur site, ce qui en fait un choix idéal pour un éventail d’organisations différentes. Elle dispose de tonnes de fonctionnalités utiles, comme la détection des anomalies alimentée par l’apprentissage automatique et l’analyse approfondie des temps d’attente. Ces fonctionnalités permettent aux administrateurs informatiques d’améliorer leur temps moyen de résolution et de résoudre les problèmes de performance des bases de données plus rapidement.

L’une de ses meilleures fonctionnalités est qu’elle offre aux équipes informatiques des données en temps réel et historiques de leurs performances MySQL en suivant le temps de réponse et les statistiques du serveur dans le référentiel de l’entrepôt de données (qui peut être configuré directement sur votre base de données MySQL). Ces informations permettent aux administrateurs de bases de données de résoudre les problèmes critiques grâce à une meilleure compréhension de leur infrastructure de serveurs.

De plus, SolarWinds DPA est incroyablement facile à utiliser. Vous pouvez définir des alertes personnalisées, créer des métriques personnalisées et même programmer des rapports de performance graphiques et les faire envoyer par e-mail à l’équipe informatique concernée. Pour voir si DPA est la meilleure solution pour vos besoins de surveillance de MySQL, vous pouvez télécharger l’outil entièrement fonctionnel sans risque pendant 14 jours.

PROS:

  • Il prend en charge une grande variété de bases de données, à la fois dans le cloud et sur site.
  • Il est facile à utiliser tout en étant flexible, permettant des alertes personnalisées, des métriques et plus encore.
  • Il utilise une détection des anomalies alimentée par l’IA, améliorant le temps moyen de résolution de nombreux problèmes.
  1. Idera Diagnostic Manager

Idera SQL Diagnostic Manager

Idera Diagnostic manager offre aux équipes informatiques une surveillance des performances des bases de données SQL dans les environnements physiques et virtuels. Il suit les statistiques de performance et les mesures clés et peut être configuré pour envoyer des alertes afin d’aider les DBA à mieux gérer leurs VM et leur base de données. Il permet également aux équipes informatiques d’effectuer une surveillance proactive des requêtes parallèlement à la surveillance SQL transactionnelle, tout en vous fournissant des recommandations pour votre SGBD SQL.

Avec Idera, vous pouvez obtenir un aperçu non seulement de la disponibilité et de la santé, mais aussi des vulnérabilités de sécurité et des paramètres de configuration. Utilisez des graphiques visuels simples pour une visibilité en un coup d’œil – analysez facilement des métriques comme l’espace disque ou obtenez une vue d’ensemble des serveurs avec des avertissements et des alertes en cours. Dans l’ensemble, il s’agit d’un outil utile et flexible pour la surveillance des bases de données SQL.

PROS:

  • Idera permet une surveillance proactive des requêtes et fournit des recommandations.
  • Il fournit un aperçu des vulnérabilités de sécurité, des problèmes de configuration, de la disponibilité et de la santé des bases de données.
  • Des graphiques simples permettent une visualisation rapide des principales métriques et des avertissements du serveur.

  1. SolarWinds Database Performance Monitor

SolarWinds-DPM

SolarWinds Database Performance Monitor (DPM) est une solution de surveillance en mode SaaS, ce qui signifie que vous n’avez pas à acheter ou à maintenir une application traditionnelle, ce qui réduit considérablement les frictions liées à son démarrage.

L’outil peut surveiller les bases de données localement, dans le cloud et hybride, et il se concentre sur les bases de données open-source et NoSQL, ce qui inclut non seulement MySQL mais aussi PostgreSQL et Redis. DPM offre une surveillance en temps réel 24 heures sur 24 et 7 jours sur 7 pour suivre une pléthore de métriques, puis les afficher à l’aide d’un tableau de bord convivial mais puissant. Certaines des métriques prises en charge sont :

  • MTTD
  • MTTR
  • Fréquence de déploiement
  • Disponibilité
  • Déploiements échoués réduits

DPM prend la sécurité au sérieux, étant entièrement conforme à la fois à SOC2 et à GDPR.

PROS:

  • Solution basée sur le cloud, ce qui signifie moins de friction pour démarrer et utiliser.
  • Surveillance en temps réel 24/7 sur un très grand nombre de métriques.
  • Tableau de bord flexible mais facile à utiliser.
  1. SQL Power Tools

SQL Power Tools

Une autre bonne option pour les DBA est le SQL Power Tools. Annoncée comme une solution « zéro impact », cette solution de surveillance des bases de données sans agent permet aux équipes informatiques d’accéder à plus de 120 métriques différentes de leur infrastructure serveur, des temps d’attente et du blocage à l’utilisation de l’espace disque et à la fragmentation des index. Vous pouvez visualiser les tendances sur 30 jours ou configurer des alertes pour une prise de conscience instantanée. C’est un poids léger fiable avec peu de frais généraux, mais les grandes organisations peuvent avoir du mal à l’adapter à leurs besoins.

PROS:

  • « Solution à impact zéro » avec peu de friction.
  • Grand nombre de métriques pour surveiller toute l’infrastructure du serveur.
  • Outil léger et fiable adapté aux scénarios plus simples.
  1. Outil de surveillance et de gestion Percona

percona-pmm-postgres-working-Postgres_exporter

L’outil de surveillance et de gestion Percona est une solution gratuite et open-source que les administrateurs peuvent utiliser pour surveiller et gérer leurs bases de données MySQL. Percona peut être entièrement adopté dans votre système informatique existant, ce qui signifie que les admins peuvent être sûrs que la solution est exécutée dans un cadre sûr et fiable. De plus, Percona peut mettre en correspondance les requêtes avec les métriques, ce qui permet aux SysAdmins de prendre de meilleures décisions pour optimiser les performances de MySQL.

En tant qu’option open-source, le support peut être limité, et les équipes informatiques perdront certaines des fonctions les plus avancées qu’elles s’attendraient à voir dans une solution de niveau entreprise. Mais dans l’ensemble, c’est une option fiable pour de nombreuses organisations.

PROS:

  • Mappe les requêtes par rapport aux métriques, permettant aux administrateurs de prendre en compte les requêtes lors de l’optimisation des performances de MySQL.
  • Solution fiable et légère mieux adaptée aux scénarios plus simples.
  1. AppDynamics

appdynamics-mysql

Cet outil MySQL de niveau entreprise possède des tonnes de fonctionnalités complètes qui en font une excellente solution pour de nombreuses grandes entreprises. D’une part, il offre aux équipes informatiques un aperçu en temps réel des performances de la base de données MySQL et des mesures de santé, afin qu’elles puissent identifier et résoudre les problèmes avec efficacité. De plus, AppDynamics permet aux équipes informatiques de définir des métriques de base pour ce qu’elles considèrent comme des normes de performance saines pour leurs environnements MySQL. L’outil va ensuite collecter et afficher les métriques nouvellement générées par rapport auxdites lignes de base, de sorte que les administrateurs peuvent surveiller leurs systèmes avec une meilleure compréhension de ce qui est un comportement sain.

Le seul problème avec AppDynamics est que la solution est disponible dans un plan lite et un plan pro. Alors que le plan lite est gratuit à utiliser, il offre des fonctionnalités limitées et sa rétention de données est presque inexistante. Le plan pro est meilleur, mais coûteux.

PROS:

  • Il offre un aperçu en temps réel des performances et des métriques de santé de MySQL.
  • Il permet aux utilisateurs de définir des lignes de base pour des performances saines, puis de baser de nouvelles métriques sur ces lignes de base.

La surveillance de la base de données est une nécessité. Obtenez-le bien, faites-le constamment, et profitez

Les bases de données sont centrales à pratiquement toute entreprise technologique. Pourtant, certaines entreprises, bien qu’elles consacrent beaucoup de ressources à leurs bases de données, ne semblent pas se soucier de leur surveillance. C’est déconcertant, car cela revient à ne pas vouloir connaître le rendement d’un investissement, qui plus est particulièrement coûteux.

En matière de bases de données relationnelles, Microsoft SQL Server et MySQL sont deux des choix les plus populaires. Alors que le premier est une offre d’entreprise, développée par une gigantesque société, le second est un outil gratuit et open-source, bien qu’il soit également disponible sous des licences commerciales. Étant deux bases de données relationnelles largement connues, il existe une offre énorme de solutions de surveillance de base de données ciblant MySQL et SQL Server.

mysql performance

Bien que tous les outils que nous avons couverts aient leurs mérites, mon premier choix est SolarWinds Database Performance Analyzer. Comme je l’ai déjà mentionné, DPA présente des fonctionnalités de surveillance et d’analyse inégalées.

Une mention honorable revient à l’autre outil de SolarWinds, Database Performance Monitor. DPM est une solution basée sur le cloud, sans téléchargement, maintenance ou provisionnement requis. Les mises à jour se font automatiquement. Et puisque DPM est une solution SaaS ciblant spécifiquement les bases de données open-source, c’est un choix solide pour la surveillance de MySQL.

À présent, vous devriez être prêt à prendre une décision éclairée sur le bon outil pour vos besoins de surveillance de MySQL ou de SQL Server.