Maison  >  Article  >  développement back-end  >  Comment dépanner les délais d'attente du serveur MySQL se produisant après 60 secondes ?

Comment dépanner les délais d'attente du serveur MySQL se produisant après 60 secondes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-18 22:07:30415parcourir

How to Troubleshoot MySQL Server Timeouts Occurring After 60 Seconds?

Délai d'expiration du serveur MySQL après 60 secondes : dépannage

Dans MySQL, vous pouvez rencontrer l'erreur énigmatique "Le serveur MySQL a disparu - exactement 60 secondes." Ce problème survient lorsqu'une requête expire lors de son exécution, se terminant par une fermeture inattendue. Bien qu'il soit crucial d'optimiser les requêtes pour plus d'efficacité, ce problème persiste même avec des requêtes plus lentes conçues pour s'exécuter du jour au lendemain.

Après enquête, vous avez observé que la requête expire systématiquement au bout de 60 secondes précises. Ce comportement particulier suggère un problème de configuration plutôt qu'une limitation des ressources.

Pour résoudre ce problème, examinons les causes potentielles :

1. Configuration PHP :

Le paramètre de configuration PHP "mysql.connect_timeout" joue un rôle important dans cette erreur. Il régit non seulement le délai d'expiration de la connexion mais également la durée avant la réception de la première réponse du serveur. Par défaut, ce délai d'attente est fixé à 60 secondes.

Solution :

Pour prolonger ce délai d'attente, implémentez le code PHP suivant :

ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);

Avec cette modification, vous demandez à PHP d'attendre 300 secondes une réponse du serveur, ce qui laisse suffisamment de temps pour que les requêtes lentes se terminent.

2. Configuration de la base de données :

Un autre coupable potentiel est la variable de configuration MySQL « wait_timeout », qui détermine combien de temps le serveur attend une connexion avant d'y mettre fin. Assurez-vous que cette valeur est définie de manière appropriée pour votre charge de travail.

Solution :

Si nécessaire, ajustez "wait_timeout" dans le fichier de configuration MySQL sur une valeur plus élevée, par exemple 28800 (8 heures).

3. Autres facteurs :

Les facteurs supplémentaires susceptibles de contribuer aux délais d'attente incluent la latence du réseau, les paramètres du pare-feu et la charge du serveur. Examinez attentivement tous les composants pertinents pour exclure toute influence externe.

En employant ces techniques de dépannage, vous devriez être en mesure de résoudre le problème et d'empêcher l'erreur « Le serveur MySQL a disparu » de refaire surface.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn