IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Crashs aléatoires : Got timeout reading communication packets


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Par défaut Crashs aléatoires : Got timeout reading communication packets
    Bonjour,

    Je fais tourner un serveur web qui héberge 100 « petits » sites web (pas de trafic très important). Le serveur mysql est situé sur le même serveur que apache2 et nginx (pour le proxy)
    Le serveur a d'assez bonnes ressources :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    (Debian GNU/Linux 12 64bit / Linux 6.1.0-23-cloud-amd64)                                                                                                      Uptime: 4:13:53
    Cloud cpu4-ram12-disk20-perf1 instance i-0000a405 (AZ1)
     
    AMD EPYC-Rome Processor                                                  CPU ↑    27.7%  idle    64.2%  ctx_sw     2K      MEM -   23.7%  active   4.91G      SWAP -   0.0%      LOAD -  4core
    CPU  [||||||||||||||||                                          27.7%]   user     21.1%  irq      0.0%  inter      2K      total   11.7G  inacti   3.48G      total       0      1 min    1.74
    MEM  [|||||||||||||                                             23.7%]   system    9.1%  nice     0.0%  sw_int     2K      used    2.77G  buffer    814M      used        0      5 min    1.74
    SWAP [                                                           0.0%]   iowait    5.4%  steal    0.0%                     free    8.92G  cached   6.34G      free        0      15 min   1.91
    Cependant, depuis quelques semaines, MariaDB plante aléatoirement, environ 3 fois par semaine. Dans les logs, à chaque fois, j'ai un grand nombre de lignes comme celle-ci pour chaque DB que j'héberge ... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
    2024-08-13 23:13:30 100731 [Warning] Aborted connection 100731 to db: 'MSH_mairie' user: 'MSH_mairie' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:39 101338 [Warning] Aborted connection 101338 to db: 'LUD_luda' user: 'LUD_luda' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:39 100002 [Warning] Aborted connection 100002 to db: 'CGA_coco' user: 'CGA_coco' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:39 101207 [Warning] Aborted connection 101207 to db: 'LGO_nespa' user: 'LGO_nespa' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:39 100212 [Warning] Aborted connection 100212 to db: 'KCO_lady' user: 'KCO_lady' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:39 101206 [Warning] Aborted connection 101206 to db: 'LGO_nespa' user: 'LGO_nespa' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:40 101342 [Warning] Aborted connection 101342 to db: 'SSO_sano' user: 'SSO_sano' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:40 101344 [Warning] Aborted connection 101344 to db: 'LGO_tef' user: 'LGO_tef' host: 'localhost' (Got timeout reading communication packets)
    2024-08-13 23:13:51 99984 [Warning] Aborted connection 99984 to db: 'CDA_ecole' user: 'CDA_ecole' host: 'localhost' (Got timeout reading communication packets)
    ...
    Après quelques recherches, j'ai lu que le problème pouvait venir des paramètres dans /etc/mysql/my.cnf, en augmentant certaines valeurs, mais il est difficile de savoir comment trouver les bonnes valeurs. Dans mon cas, j'ai modifié les valeurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    max_allowed_packet = 256M (au lieu de 32M)
    wait_timeout=30 (au lieu de 10)
    long_query_time=10 (au lieu de 5)
    Mais malheureusement, le serveur mysql continue de s'arrêter aléatoirement.

    J'ai vérifié la taille de mes DBs, et j'en ai 4 ou 5 supérieures à 300Mo, mais pratiquement toutes les autres sont inférieures à 150Mo

    J'ai également installé MySQLTuner pour m'aider à affiner le fichier my.cnf et j'ai essayé les résultats qu'il m'a donné après analyse. Mais avec les derniers changements donnés par MySQLTunner, mon serveur plante 2 ou 3 fois par jour !

    Je suis donc revenu à l'ancien my.cnf et je suis venu ici pour obtenir de l'aide car je ne sais vraiment pas comment résoudre mon problème avec ces plantages aléatoires

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 624
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    D'après quelques recherches sur la toile, il semble que ce soit un message normal en cas d'inactivité du client concerné au delà de la durée paramétrée dans la variable système wait_timeout.

    Essayez de valoriser le paramètre log_warning à 1 pour que ces messages ne soient plus produits.

    Cf. ICI

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Par défaut
    Merci pour l'info, je vais regarder en détail.
    Ceci dit ça n'explique pas pour autant les plantages.
    Comment faire pour avoir des logs plus significatifs, si ceux là ne le sont pas ?

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 624
    Billets dans le blog
    10
    Par défaut
    C'est justement l'objet du paramètre log_warning que de définir quels sévérité d'événements on souhaite enregistrer dans la log

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Par défaut
    OK vu la doc https://mariadb.com/kb/en/error-log/
    J'ai mis à 1, mais ce que je ne saisi pas, c'est pourquoi ça m'aiderait à y voir plus clair dans mes plantages si cette valeur supprime les warnings peu significatifs.
    Il faudrait mieux que je mette la valeur à 3 ou 4 non ?

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    961
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 961
    Par défaut
    Bonsoir,
    Je ne suis pas spécialiste de MySQL mais au vu du message je me dit qu'il y aurait peut-être une transaction ouverte, jamais commitée.
    D'où le timeout sur la session.

    Mais j'avoue que ça n'explique pas les crash. Désolé.

    Une autre piste est de profiter du fait que le serveur est "costaud" pour créer plusieurs instances.
    En isolant les bases peut être que ça isolera le problème. Qui sait ?

  7. #7
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 900
    Par défaut
    Salut à tous.

    A lire.

    @+

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/07/2014, 14h06
  2. [Web Service] socket timeout : read timed out
    Par AlexC3301 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 29/04/2009, 00h51
  3. Erreur sur fonction READ (Communication Série)
    Par Kartoon67 dans le forum LabVIEW
    Réponses: 11
    Dernier message: 22/04/2009, 13h40
  4. Read et timeout
    Par m0ul3sh0t dans le forum C
    Réponses: 7
    Dernier message: 13/06/2008, 17h07
  5. Timeout sur read() avec termios et VTIME
    Par olivier857 dans le forum C
    Réponses: 9
    Dernier message: 05/04/2006, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo