Maison > Article > base de données > Analyse détaillée de MySQL et délai d'attente associé
Lors de l'interrogation de la bibliothèque mysql, la session est toujours interrompue lorsque la quantité de données est relativement importante. Au début, je pensais qu'il s'agissait d'un problème de délai d'attente lié à MySQL et à la connexion, mais cela s'est avéré être la cause de l'instabilité du réseau. Cet article présente principalement des informations détaillées sur MySQL et le délai d'attente lié à la connexion. Cet article résume principalement le délai d'attente lié à la connexion. Les amis qui en ont besoin peuvent s'y référer.
Ce qui suit résume le délai d'attente lié à la connexion
slave-net-timeout
Le nombre de secondes à attendre pour plus de données du maître avant que l'esclave considère la connexion interrompue, abandonne la lecture et tente de se reconnecter. La première tentative se produit immédiatement après le délai d'attente. L'intervalle entre les tentatives est contrôlé par l'option MASTER_CONNECT_RETRY de l'instruction CHANGE MASTER TO, et le nombre de tentatives de reconnexion est limité par l'option --master-retry-count. La valeur par défaut est de 3600 secondes (une heure).
Lorsque l'esclave pense qu'il y a un problème avec la connexion au maître, il attend N. secondes puis se déconnecte, reconnectez le maître
net_read_timeout :
Le nombre de secondes pour attendre plus de données d'une connexion avant d'abandonner la lecture lorsque le serveur. est en train de lire à partir du client, net_read_timeout est la valeur du délai d'attente contrôlant le moment d'abandonner
Le nombre de secondes à attendre pour obtenir les données d'une connexion avant de terminer la lecture lorsque le service lit les données du client, net_read_timeout contrôle le moment où il doit expirer ; .
net_write_timeout :
Le nombre de secondes d'attente pour qu'un bloc soit écrit sur une connexion avant d'abandonner l'écriture. Lorsque le serveur est en écrivant sur le client, net_write_timeout est la valeur du délai d'attente contrôlant le moment d'abandonner.
Combien de secondes attendre pour écrire le bloc sur la connexion avant de terminer l'écriture ; lorsque le service écrit des données sur le client, net_write_timeout contrôle le moment où il doit expirer
wait_timeout
Le nombre de secondes pendant lesquelles le serveur attend une activité sur une connexion non interactive avant de la fermer 🎜>interactive_timeout :
Le nombre de secondes pendant lesquelles le serveur attend une activité sur une connexion non interactive. connexion interactive avant de la fermer.Une connexion sans état interactif jusqu'à ce qu'elle soit forcée par le serveur. Le nombre de secondes pendant lesquelles le serveur mysqld attend un paquet de connexion avant de répondre avec une mauvaise prise de contact. La valeur par défaut est de 10 secondes.
Temps d'attente d'une réponse de connexion
connect_timeout : Fonction pendant la phase d'acquisition de connexion (authentifier)
interactive_timeout et wait_timeout : fonctionnent pendant la phase d'inactivité de la connexion (veille)
net_read_timeout et net_write_timeout : fonctionnent pendant la phase d'occupation de la connexion (requête).
L'obtention d'une connexion MySQL est le résultat de plusieurs poignées de main. En plus de la vérification correspondante du nom d'utilisateur et du mot de passe, il existe également une vérification IP->HOST->DNS->Tout. Cette étape est possible. Le fil de discussion est bloqué en raison de problèmes de réseau. Afin d'éviter que les threads ne perdent inutilement des attentes de vérification, les demandes de connexion qui dépassent connect_timeout seront rejetées.
Même s'il n'y a pas de problème de réseau, le client ne peut pas être autorisé à occuper la connexion en permanence. Pour les clients qui restent en état de veille plus longtemps que wait_timeout (ou interactive_timeout, selon l'indicateur client_interactive), MySQL se déconnectera activement.
Recommandations associées :
Exemple d'explication de setTimeout pour voir la fonction js processus d'exécution
fonction setTimeout() en js
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!