MySQL est l’un des systèmes de gestion de base de données les plus populaires pour les serveurs web. Si vous gérez un site web WordPress, il y a de fortes chances qu’il utilise MySQL pour sa base de données. Il est donc essentiel que vous compreniez comment effectuer un réglage des performances de MySQL.

Par « régler » MySQL, nous entendons optimiser votre base de données pour que le logiciel puisse répondre plus rapidement aux requêtes. En fin de compte, cela peut conduire à des temps de chargement plus courts et à un site web globalement plus vif. De plus, si vous maintenez correctement votre base de données, elle devrait continuer à offrir des performances élevées même si elle augmente en taille.

Dans cet article, nous allons donner un bref aperçu de ce qu’est MySQL et de son fonctionnement. Puis nous verrons comment effectuer un réglage des performances de MySQL à l’aide de quatre conseils essentiels.

C’est parti !

Qu’est-ce-que MySQL et comment il fonctionne

Les sites web dynamiques stockent des informations dans des bases de données, un terme fantaisiste pour désigner une structure complexe de tables contenant des quantités massives d’informations. Les bases de données vous permettent de stocker des variables et de les « interroger » pour obtenir les informations dont vous avez besoin. Par exemple, lorsque vous chargez un site web WordPress, le système de gestion de contenu (CMS) se connecte à sa base de données pour obtenir les informations dont il a besoin.

Si, pour une raison quelconque, WordPress ne peut pas se connecter à la base de données, vous pouvez rencontrer des erreurs telles que « MySQL server has gone away » ou« MySQL 1064 ». MySQL est un logiciel open-source qui vous permet de créer et de gérer des bases de données. C’est loin d’être le seul système de gestion de bases de données disponible en ligne. Cependant, il domine en termes de part de marché, avec environ 15 % de tous les sites web qui l’utilisent.

Part de marché de MySQL.
Part de marché de MySQL.

Il existe différentes approches de la gestion des bases de données, et MySQL utilise les modèles « relationnel » et « client-serveur ». Voici ce que cela signifie :

  • Bases de données relationnelles – Ce type de base de données divise les informations en tables. Grâce au modèle relationnel, vous pouvez connecter les données de plusieurs tables à l’aide de « clés » ou d’identifiants uniques.
  • Modèle client-serveur – Avec ce modèle, votre base de données réside dans le serveur, et votre site web est le client. Les navigateurs font des requêtes à votre site web, qui à son tour interroge la base de données.

Comme MySQL est un logiciel open-source, il existe de nombreux forks disponibles. Ici, chez Kinsta, par exemple, nous utilisons MariaDB, qui est un fork de MySQL. Nous avons choisi d’utiliser MariaDB car elle offre des performances améliorées par rapport à son logiciel parent.

Si vous êtes utilisateur de Kinsta, vous n’avez pas à vous soucier d’effectuer un réglage des performances de MySQL car nous nous en chargeons pour vous.

Apprendre à faire fonctionner MySQL plus rapidement par vous-même reste cependant une compétence précieuse, surtout si votre hébergeur ne s’occupe pas de l’optimisation pour vous. Parlons de ce qu’implique cette optimisation.

4 conseils pour effectuer un réglage des performances MySQL

Si vous utilisez WordPress et que vous voulez apprendre à faire fonctionner MySQL plus rapidement, votre meilleur pari ne sera pas de vous concentrer sur des configurations spécifiques. Vous voudrez plutôt configurer avec précision votre base de données pour qu’elle corresponde à la façon dont vous utilisez WordPress. Parlons de ce que cela signifie.

1. Gardez votre version de MySQL à jour

La plupart des hébergeurs mettent automatiquement à jour MySQL à la dernière version pour vous. Cependant, si vous avez le contrôle total de votre serveur, vous devrez mettre à jour manuellement votre système de gestion de base de données. Puisque vous utilisez WordPress, vous comprenez probablement les avantages de maintenir les logiciels à jour. L’optimisation des performances de MySQL présente de nombreux avantages, tels que :

Un logiciel de gestion de base de données plus rapide se traduit directement par des temps de chargement plus faibles. Cependant, il se peut que vous ne sachiez pas quelle version de MySQL vous utilisez. Si vous avez un accès complet à votre serveur, vous pouvez lancer la ligne de commande et exécuter la commande suivante :

mysql -v

L’adresse -v renverra des informations sur la version de MySQL que votre serveur utilise. Vous pouvez comparer ces informations aux dernières versions sur le site officiel de MySQL pour voir les nouvelles versions disponibles. Si vous n’êtes pas à l’aise avec la ligne de commande, vous pouvez découvrir la version de MySQL que vous utilisez via le tableau de bord de WordPress.

Tout d’abord, accédez au tableau de bord et allez dans Outils > Santé du site. Ensuite, ouvrez l’onglet Info et cliquez sur Base de données:

Vérifier la version de MySQL dans WordPress.
Vérifier la version de MySQL dans WordPress.

En fonction de votre version de MySQL, le logiciel peut se mettre à jour automatiquement. Si ce n’est pas le cas, vous pouvez utiliser la ligne de commande pour mettre à jour MySQL avec la dernière version. Si vous utilisez Kinsta, vous n’avez pas à vous soucier de la mise à jour du logiciel de gestion de base de données. Au lieu de cela, nous mettons automatiquement à jour les clients avec la dernière version stable de MariaDB.

2. Vérifiez que votre base de données ne contient pas de tables orphelines

Souvent, les extensions et les thèmes de site que vous désinstallez de votre site web laissent des données derrière eux. Cela peut être dû à de mauvaises normes de codage, ou parce que les extensions/thèmes décident de stocker ces données au cas où vous voudriez les réinstaller. L’idée derrière cette approche est que laisser les réglages et les configurations stockés dans votre base de données vous feront gagner du temps et du travail par la suite.

Cependant, toutes ces tables inutilisées peuvent conduire à une base de données gonflée, ce qui peut à son tour ralentir les requêtes en fonction des capacités de votre serveur. Dans l’idéal, vous ferez le ménage après avoir désinstallé les extensions afin d’éviter que les tables et les données orphelines ne s’accumulent. Il y a deux façons de s’acquitter de cette tâche : soit manuellement, soit en utilisant une extension.

Une fois que vous avez une sauvegarde, vous pouvez accéder à votre base de données via phpMyAdmin. Si vous êtes un utilisateur de Kinsta, connectez-vous à votre tableau de bord MyKinsta et allez dans Sites. Sélectionnez le site sur lequel vous voulez travailler et passez à son onglet Info . Vous y trouverez un lien qui vous donnera un accès direct à votre base de données via phpMyAdmin:

Accéder à phpMyAdmin via MyKinsta.
Accéder à phpMyAdmin via MyKinsta.

Une fois que vous êtes dans phpMyAdmin, vous pouvez peux utiliser la fonction de recherche du logiciel pour trouver les tables orphelines liées à des extensions spécifiques. Le problème de cette méthode est qu’il peut être difficile de savoir quelles requêtes utiliser, à moins que l’extension que vous essayez de nettoyer n’ait une documentation complète.

Par exemple, Yoast SEO recommande d’utiliser la requête wpseo pour trouver les tables liées à l’extension après l’avoir désinstallée. En lançant une recherche rapide à l’aide de phpMyAdmin, vous obtiendrez une liste d’entrées contenant ce terme dans différentes tables :

Recherche d'entrées liées à Yoast SEO dans votre base de données.
Recherche d’entrées liées à Yoast SEO dans votre base de données.

Bien que la méthode manuelle fonctionne, nous vous encourageons à utiliser une solution d’extension de nettoyage de base de données. Avec certaines de ces extensions, vous pourrez même trouver les tables orphelines depuis le tableau de bord et les supprimer sans avoir à fouiller dans phpMyAdmin.

3. Déterminez les données que MySQL charge automatiquement

Chaque base de données WordPress comprend un large éventail de tables. L’une de ces tables s’appelle wp_options, et elle contient des informations telles que :

  • Réglages des extensions et des thèmes
  • L’URL de votre site, le nom de votre blog, la description, etc

Si vous vérifiez la table wp_options en utilisant phpMyAdmin, vous remarquerez une colonne nommée autoload. WordPress recherche les lignes contenant une entrée yes sous autoload, puis charge ces données chaque fois qu’une personne accède à votre site web et visite l’une de ses pages :

Vérification de wp_options pour le chargement automatique des données.
Vérification de wp_options pour le chargement automatique des données.

Dans l’état actuel des choses, WordPress devrait uniquement charger automatiquement les données critiques. Cependant, certaines extensions et certains thèmes ajoutent des données à wp_options et les configurent pour qu’elles se chargent automatiquement. Au fil du temps, ces données en chargement automatique peuvent ralentir les temps de réponse, tout comme si vous aviez trop de programmes configurés pour se lancer automatiquement lorsque vous allumez votre ordinateur.

Si votre site web WordPress semble lent et que vous pouvez voir de nombreuses entrées liées aux extensions dans wp_options, nous vous recommandons de vérifier la quantité de données qui se chargent automatiquement dans WordPress et d’identifier les extensions que vous pouvez vous permettre de désactiver.

4. Nettoyez les révisions, les brouillons, les commentaires mis à la poubelle et les publications

Au fur et à mesure que vous utilisez WordPress, votre site web va accumuler beaucoup de données inutilisées. Par exemple, WordPress enregistre automatiquement plusieurs révisions et brouillons pour vos publications, en fonction du nombre de modifications que vous y apportez. Au fil du temps, toutes ces données peuvent encombrer votre base de données, c’est donc une bonne pratique de nettoyer ces entrées périodiquement. La meilleure façon de le faire est d’utiliser une extension, comme Advanced Database Cleaner:

L'extension WordPress Advanced Database Cleaner.
L’extension WordPress Advanced Database Cleaner.

Vous n’avez pas besoin d’utiliser la version premium de l’extension pour cette tâche (contrairement à ce qui se passe lorsqu’on traite des tables orphelines). Une fois que vous avez activé l’extension, vous pouvez aller dans l’onglet WP DB Cleaner et regarder la section Nettoyage général . Vous y trouverez une liste complète de toutes les données de transient que l’extension peut vous aider à supprimer de la base de données :

Utiliser Advanced Database Cleaner pour nettoyer votre base de données.
Utiliser Advanced Database Cleaner pour nettoyer votre base de données.

Vous pouvez sélectionner les tables à « nettoyer » ou vider, puis exécuter le processus manuellement. Sinon, l’extension vous permet de planifier des nettoyages pour les tables que vous choisissez, et de les configurer pour qu’ils soient exécutés périodiquement. Cette dernière option est votre meilleure option – cela signifie que vous aurez une tâche de moins à vous préoccuper. Cependant, nous vous recommandons de ne pas reconfigurer le nettoyage de la base de données pour qu’il s’exécute trop souvent. De cette façon, vous aurez toujours accès aux versions précédentes au cas où vous en auraiez besoin.

Résumé

Les avantages de l’optimisation des performances de MySQL sont nombreux. Cependant, la principale raison pour laquelle vous voudrez optimiser votre base de données est d’augmenter ses performances, afin que votre site web se charge toujours aussi vite que possible. Comme vous utilisez WordPress, il existe de nombreuses façons d’effectuer un réglage des performances MySQL sans modifier la configuration du logiciel. Si vous voulez apprendre comment faire fonctionner MySQL plus rapidement, voici quatre conseils pour commencer :

  1. Gardez votre version de MySQL à jour.
  2. Vérifiez que votre base de données ne contient pas de tables orphelines.
  3. Déterminez quelles sont les données que MySQL charge automatiquement.
  4. Nettoyez les révisions, les brouillons, les articles mis dans la corbeille et les commentaires.

Vous avez d’autres astuces pour optimiser les bases de données MySQL ? Partagez-les avec notre communauté dans les commentaires ci-dessous !

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.