Chargement de Smiley Hoster
Aller au contenu

Capturer les requêtes MySQL lentes sur un serveur cPanel

Équipe Smiley Hoster · · 3 min de lecture
Une séquence montre la capture, le regroupement puis le test de requêtes SQL.

Quand la base ralentit un site cPanel, augmenter les workers PHP risque de multiplier les requêtes en attente. Le journal lent décrit par MySQL permet de préparer une enquête ciblée : voici comment organiser une courte collecte sur MySQL 8.0 avec les droits d’administration nécessaires.

1. Définir une fenêtre de collecte

Choisissez une action reproductible : recherche dans le catalogue, affichage du panier ou export. Notez le domaine, la base utilisée et l’horaire. Vérifiez le moteur réel ; les commandes et options de MariaDB doivent être adaptées à sa version.

Dans une session SQL d’administration, consignez les valeurs avant modification :

Exemple
SELECT VERSION();SHOW GLOBAL VARIABLES LIKE 'slow_query_log%';SHOW GLOBAL VARIABLES LIKE 'long_query_time';SHOW GLOBAL VARIABLES LIKE 'log_output';SHOW GLOBAL VARIABLES LIKE 'min_examined_row_limit';

Contrôlez l’espace libre sur le volume du journal et ses permissions. Les requêtes peuvent contenir des données clients : gardez la collecte dans un emplacement réservé aux administrateurs, avec une durée de conservation définie.

Annoncez une heure de fin et un responsable du retour aux valeurs initiales. Une collecte laissée active sans surveillance peut devenir un nouveau problème de disque.

2. Capturer puis regrouper

Pour une collecte de diagnostic, le choix suivant est un exemple, pas une configuration permanente recommandée :

Exemple
SET GLOBAL log_output = 'FILE';SET GLOBAL long_query_time = 2;SET GLOBAL slow_query_log = ON;

Le seuil global s’applique aux nouvelles sessions : une connexion applicative persistante peut conserver son ancien seuil. Vérifiez qu’une requête réellement lente de votre essai apparaît avant de considérer la collecte valide. Le filtre de lignes examinées peut également exclure des requêtes ; conservez sa valeur dans votre dossier d’enquête.

Après la fenêtre, rétablissez les valeurs relevées, y compris la destination du journal. Si le journal était déjà actif pour une autre supervision, restaurez cet état au lieu de le couper.

Sur une copie protégée du fichier, utilisez le chemin réel :

Exemple
mysqldumpslow -s t -t 10 /chemin/slow.logmysqldumpslow -s c -t 10 /chemin/slow.log

Comparez les familles coûteuses et celles qui reviennent souvent. Évitez d’activer immédiatement la journalisation de toutes les requêtes sans index : elle peut produire beaucoup de bruit.

3. Livrer une correction vérifiable

Pour chaque famille retenue, consignez la base, le compte applicatif, la fréquence observée et l’action utilisateur correspondante. Dans WHM, rapprochez cette base du compte propriétaire ; ne déduisez pas le client depuis le seul processus système MySQL.

Proposez ensuite un essai précis : réduire un appel répété, modifier une requête ou évaluer un index sur une copie de test. Une requête lente isolée ne justifie pas de modifier tout le serveur.

Rejouez la même action avec un volume comparable, puis mesurez le temps de réponse et la fréquence de la famille SQL. Conservez un extrait expurgé et le résultat avant/après ; supprimez la collecte sensible à la fin de sa rétention.

Sources : MySQL — slow query log, MySQL — mysqldumpslow.

Slide 1 of 5: cPanel / MySQL. Find the slow queries behind a slow site. Use a bounded capture to turn database evidence into a testable application change.
Slide 2 of 5: Plan the capture. Set a clear window. For MySQL 8.0 with admin privileges: choose one user action and save current settings. Check log storage and permissions. Set an end time and a deletion date: query text may contain customer information.
Slide 3 of 5: Collect comparable evidence. Confirm the capture works. Verify a qualifying test request appears in the log. Existing connections may keep old thresholds. At the end, restore original settings. Use mysqldumpslow on a protected copy to find costly and repeated patterns.
Slide 4 of 5: Test an application fix. Compare before and after. Map the database to its hosting account in WHM. Test one query, lookup or index change on a test copy. Repeat the same action under comparable demand; compare website latency and the recurring SQL pattern.
Slide 5 of 5: From evidence to action. Make one testable change. Save these steps. Read the full guide for capture settings, connection caveats and cleanup checks.
Sur les réseaux sociaux

Retrouvez-le dans nos publications

Les étapes clés de cet article, en carrousel. Suivez-nous pour découvrir les prochaines. Nos publications sont rédigées en anglais.

Cet article a-t-il répondu à votre question ?
Vos retours orientent ce qu'on écrit ensuite.

Votre site en ligne aujourd'hui

Migration gratuite* · remboursé 30 jours

Commencer* Un site de moins de 30 Go, offres cPanel, WordPress et VPS.