Serveur SQL inaccessible de façon aléatoire

Bonjour à tous,

J’ai un site SPIP qui rencontre un certain succès. Selon SPIP, il accueille entre 10 000 et 50 000 visites par jour.
J’étais auparavant hébergé chez OVH sur une formule pro qui me coûtait un bras. Je suis passé depuis quelques jours chez o2Switch dont je suis très satisfait.

Cependant, je vois apparaître de façon complètement aléatoire le fameux message d’erreur SQL, que je voyais déjà chez OVH :
« Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »

Ce message n’apparaît pas forcément lors des pics de visite, mais de manière aléatoire. Par exemple, en ce moment, j’ai une quarantaine de visiteurs en temps réel et le message se répète pour moi. J’ai parfois des articles qui s’affichent à moitié et j’ai le message d’erreur « SQL » sur les zones de la page qui contiennent les commentaires et les articles de la même rubrique.

Le fichier mysql.log ne contient rien. J’utilise une quarantaine d’article. Le site contient 43 000 commentaires.

Savez-vous comment je peux diagnostiquer d’où vient précisément le problème ? Existe-t-il d’autres logs plus précis ? Des plugins dédiés à cela ?

Si vous voulez tester : https://blog.juliendelmas.fr

Merci d’avance.


Julien Delmas

Bonjour,
à la racine du site il devrait y avoir un fichier error.log (log PHP)
autres possibilités _LOG_FILTRE_GRAVITE
Cordialement

Salut,

Un lien peut-être avec toutes ces requêtes XHR serveur (forum) ? Requêtes vers du cache ou requête serveur SQL ? En général quand j’ai ce message c’est que le serveur SQL dit stop (ou quelque chose pour empêcher le flood). Ya t’il vraiement besoin d’ajaxer toutes les réponses du forum ?

Bonjour,
à la racine du site il devrait y avoir un fichier error.log (log PHP)
autres possibilités _LOG_FILTRE_GRAVITE

Merci, je n’ai pas le error.log. Il se crée seul ?

Je consulte le SPIP.log sur l’interface privée, mais avec une erreur « SQL » 4 fois sur 5.

Cordialement,

Le 3 févr. 2020 à 15:13, Fabrice Véronneau <fabrice.veronneau@free.fr> a écrit :

Un lien peut-être avec toutes ces requêtes XHR serveur (forum) ? Requêtes vers du cache ou requête serveur SQL ? En général quand j’ai ce message c’est que le serveur SQL dit stop (ou quelque chose pour empêcher le flood). Ya t’il vraiement besoin d’ajaxer toutes les réponses du forum ?

J’ai surtout des erreurs SQL dès que j’accès à l’espace privé, 4 fois sur 5. J’ai contacté l’hébergeur qui n’a rien constaté pour l’instant.

En ce qui concerne l’ajax pour les forums, c’est pour pouvoir répondre à un message sans avoir à recharger la page.

Cordialement,


Julien Delmas

à la racine du site il devrait y avoir un fichier error.log (log PHP)
autres possibilités _LOG_FILTRE_GRAVITE

Le fichier mysql.log vient de parler, mais il est surprenant que ce type de message soit seulement du type « Info » et pas « critique » voire « alerte rouge » !!

info |
- Echec mysqli_connect. Erreur : User dejuXXXX_blog already has more than ’max_user_connections’ active connections
|

  • | - |

Je vais donc négocier avec mon hébergeur

Cordialement,

Moi je suis tombé 1 fois sur 2 sur cette erreur, de plus le message s’affiche en double ou en triple. Quelque chose ne va pas dans la gestion du cache SPIP sans doute.
Vérifier aussi qu’il n’existe pas un plugin de type site en travaux, ou intranet qui interagirait mal avec le cache (solution : purger le cache).

Je ne pense pas que ca soit un pb d’hébergement mais de gestion de cache, SPIP fabrique du cache qui justement évite les multiples accès serveurs SQL pour éviter justement ce genre de désagrément. Il m’est arrivé d’avoir une grosse panne sur un serveur SQL et d’avoir le site 100% fonctionnel côté pages publiques.

Soit il ya quelque chose qui invalide le cache à chaque hit, soit il y a des requêtes construites hors mécanisme SPIP, soit peut-être autre chose mais je vois pas pour le moment et encore une fois je trouve qu’il y a vraiment bcp de requêtes ajax (67 sur une page au hasard)

Le 03/02/2020 à 15:14, Julien Delmas a écrit :

Merci, je n’ai pas le error.log. Il se crée seul ?

OUI

> "Echec mysqli_connect. Erreur : User dejuXXXX_blog already has more than ’max_user_connections’ active connections"

Il faudrait savoir combien est ce max_user_connections

Et tu pourrais désactiver les stats et voir si ça améliore significativement.

JLuc

Le lun. 3 févr. 2020 à 15:26, Julien Delmas <julien.delmas@gmail.com <mailto:julien.delmas@gmail.com>> a écrit :

    Le 3 févr. 2020 à 15:02, Escurel <escurel@orange.fr <mailto:escurel@orange.fr>> a écrit :

    à la racine du site il devrait y avoir un fichier error.log (log PHP)
    autres possibilités _LOG_FILTRE_GRAVITE
    _LOG_FILTRE_GRAVITE - SPIP

    Le fichier mysql.log vient de parler, mais il est surprenant que ce type de message soit seulement du type « Info »
    et pas « critique » voire « alerte rouge » !!
    info

      * Echec mysqli_connect. Erreur : User dejuXXXX_blog already has more than ’max_user_connections’ active connections

    Je vais donc négocier avec mon hébergeur

    Cordialement,

    --
    Julien Delmas
    _______________________________________________
    liste spip
    spip@rezo.net <mailto:spip@rezo.net> - désabonnement : envoyer un mail à spip-off@rezo.net <mailto:spip-off@rezo.net>

    Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

    Infos : https://listes.rezo.net/mailman/listinfo/spip

    Documentation de SPIP : http://www.spip.net/

    Irc : de l'aide à toute heure : http://spip.net/irc

Le 03/02/2020 à 15:26, Julien Delmas a écrit :

Le fichier mysql.log vient de parler, mais il est surprenant que ce type de message soit seulement du type « Info » et pas « critique » voire « alerte rouge » !!
info

  * Echec mysqli_connect. Erreur : User dejuXXXX_blog already has more
    than ’max_user_connections’ active connections

Je vais donc négocier avec mon hébergeur

Ça, c'est un travail pour l'hébergeur à priori (optimiser les paramètres de Mysql), mais sur du mutualisé ils ne vont pas forcément le faire...

Si tu cherches des hébergeurs chez qui SPIP tourne comme une horloge, même avec beaucoup de connexions, j'en connais un ou deux :slight_smile:

--
nicod_

Bonsoir,

Merci à tous pour votre aide.

Après de très nombreux essais :

  • j’ai vidé le cache/supprimé le dossier cache et cela ne change rien ;
  • j’ai actuellement 8/9 visiteurs en temps réel et cela ne change rien aux erreurs ;
  • j’ai désactivé tous les plugins superflus et cela ne change rien ;
  • j’ai désactivé ma surcharge du dossier /squelettes/ et cela ne change rien ;
  • d’après les stats, je sature très ponctuellement mon hébergement (« Processus démarrés 75/75 »)

Par contre, si je désactive TOUS les plugins, le fonctionnement redevient normal.
En réactivant seulement mon plugin-squelette ScolaSPIP et ses dépendances, j’ai de nouveau des erreurs SQL.

Le coupable se trouve probablement dans ces plugins qui sont tous obligatoires au bon fonctionnement de ScolaSPIP : Bootstrap, Comments, EVa-web mentions légales, Less Css, Oembed, SPIP Cycle 2, SPIPr-Dist, Z-core.

Cordialement,


Julien Delmas

Le 3 févr. 2020 à 14:44, Julien Delmas <julien.delmas@gmail.com> a écrit :

Bonjour à tous,

J’ai un site SPIP qui rencontre un certain succès. Selon SPIP, il accueille entre 10 000 et 50 000 visites par jour.
J’étais auparavant hébergé chez OVH sur une formule pro qui me coûtait un bras. Je suis passé depuis quelques jours chez o2Switch dont je suis très satisfait.

Cependant, je vois apparaître de façon complètement aléatoire le fameux message d’erreur SQL, que je voyais déjà chez OVH :
« Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »

Ce message n’apparaît pas forcément lors des pics de visite, mais de manière aléatoire. Par exemple, en ce moment, j’ai une quarantaine de visiteurs en temps réel et le message se répète pour moi. J’ai parfois des articles qui s’affichent à moitié et j’ai le message d’erreur « SQL » sur les zones de la page qui contiennent les commentaires et les articles de la même rubrique.

Le fichier mysql.log ne contient rien. J’utilise une quarantaine d’article. Le site contient 43 000 commentaires.

Savez-vous comment je peux diagnostiquer d’où vient précisément le problème ? Existe-t-il d’autres logs plus précis ? Des plugins dédiés à cela ?

Si vous voulez tester : https://blog.juliendelmas.fr

Merci d’avance.


Julien Delmas

Bonjour Julien,

Le problème est apparu depuis le changement d'hébergeur, c'est bien ça ?

Comment as-tu transféré ta base ? Est-ce que les index des différentes tables sont bien présents ? (tu peux le voir via phpmyadmin)

Et si tu désactives ScolaSPIP (en laissant les autres plugins), ça donne quoi ?

Bon courage
Johan

Le 04/02/2020 à 13:59, Julien Delmas a écrit :

Bonsoir,

Merci à tous pour votre aide.

Après de très nombreux essais :
- j’ai vidé le cache/supprimé le dossier cache et cela ne change rien ;
- j’ai actuellement 8/9 visiteurs en temps réel et cela ne change rien aux erreurs ;
- j’ai désactivé tous les plugins superflus et cela ne change rien ;
- j’ai désactivé ma surcharge du dossier /squelettes/ et cela ne change rien ;
- d’après les stats, je sature très ponctuellement mon hébergement (« Processus démarrés 75/75 »)

Par contre, si je désactive TOUS les plugins, le fonctionnement redevient normal.
En réactivant seulement mon plugin-squelette ScolaSPIP et ses dépendances, j’ai de nouveau des erreurs SQL.

Le coupable se trouve probablement dans ces plugins qui sont tous obligatoires au bon fonctionnement de ScolaSPIP : Bootstrap, Comments, EVa-web mentions légales, Less Css, Oembed, SPIP Cycle 2, SPIPr-Dist, Z-core.

Cordialement,

--
Julien Delmas

Le 3 févr. 2020 à 14:44, Julien Delmas <julien.delmas@gmail.com <mailto:julien.delmas@gmail.com>> a écrit :

Bonjour à tous,

J’ai un site SPIP qui rencontre un certain succès. Selon SPIP, il accueille entre 10 000 et 50 000 visites par jour.
J’étais auparavant hébergé chez OVH sur une formule pro qui me coûtait un bras. Je suis passé depuis quelques jours chez o2Switch dont je suis très satisfait.

Cependant, je vois apparaître de façon complètement aléatoire le fameux message d’erreur SQL, que je voyais déjà chez OVH :
« Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »

Ce message n’apparaît pas forcément lors des pics de visite, mais de manière aléatoire. Par exemple, en ce moment, j’ai une quarantaine de visiteurs en temps réel et le message se répète pour moi. J’ai parfois des articles qui s’affichent à moitié et j’ai le message d’erreur « SQL » sur les zones de la page qui contiennent les commentaires et les articles de la même rubrique.

Le fichier mysql.log ne contient rien. J’utilise une quarantaine d’article. Le site contient 43 000 commentaires.

*Savez-vous comment je peux diagnostiquer d’où vient précisément le problème ? Existe-t-il d’autres logs plus précis ? Des plugins dédiés à cela ?*

Si vous voulez tester : https://blog.juliendelmas.fr/&gt;

Merci d’avance.

--
Julien Delmas

Bonjour Julien,

Le problème est apparu depuis le changement d'hébergeur, c'est bien ça ?

Comment as-tu transféré ta base ? Est-ce que les index des différentes tables sont bien présents ? (tu peux le voir via phpmyadmin)

Et si tu désactives ScolaSPIP (en laissant les autres plugins), ça donne quoi ?

Bon courage
Johan

Le 04/02/2020 à 13:59, Julien Delmas a écrit :

Bonsoir,

Merci à tous pour votre aide.

Après de très nombreux essais :
- j’ai vidé le cache/supprimé le dossier cache et cela ne change rien ;
- j’ai actuellement 8/9 visiteurs en temps réel et cela ne change rien aux erreurs ;
- j’ai désactivé tous les plugins superflus et cela ne change rien ;
- j’ai désactivé ma surcharge du dossier /squelettes/ et cela ne change rien ;
- d’après les stats, je sature très ponctuellement mon hébergement (« Processus démarrés 75/75 »)

Par contre, si je désactive TOUS les plugins, le fonctionnement redevient normal.
En réactivant seulement mon plugin-squelette ScolaSPIP et ses dépendances, j’ai de nouveau des erreurs SQL.

Le coupable se trouve probablement dans ces plugins qui sont tous obligatoires au bon fonctionnement de ScolaSPIP : Bootstrap, Comments, EVa-web mentions légales, Less Css, Oembed, SPIP Cycle 2, SPIPr-Dist, Z-core.

Cordialement,

--
Julien Delmas

Le 3 févr. 2020 à 14:44, Julien Delmas <julien.delmas@gmail.com <mailto:julien.delmas@gmail.com>> a écrit :

Bonjour à tous,

J’ai un site SPIP qui rencontre un certain succès. Selon SPIP, il accueille entre 10 000 et 50 000 visites par jour.
J’étais auparavant hébergé chez OVH sur une formule pro qui me coûtait un bras. Je suis passé depuis quelques jours chez o2Switch dont je suis très satisfait.

Cependant, je vois apparaître de façon complètement aléatoire le fameux message d’erreur SQL, que je voyais déjà chez OVH :
« Attention : un problème technique (serveur SQL) empêche l’accès à cette partie du site. Merci de votre compréhension. »

Ce message n’apparaît pas forcément lors des pics de visite, mais de manière aléatoire. Par exemple, en ce moment, j’ai une quarantaine de visiteurs en temps réel et le message se répète pour moi. J’ai parfois des articles qui s’affichent à moitié et j’ai le message d’erreur « SQL » sur les zones de la page qui contiennent les commentaires et les articles de la même rubrique.

Le fichier mysql.log ne contient rien. J’utilise une quarantaine d’article. Le site contient 43 000 commentaires.

*Savez-vous comment je peux diagnostiquer d’où vient précisément le problème ? Existe-t-il d’autres logs plus précis ? Des plugins dédiés à cela ?*

Si vous voulez tester : https://blog.juliendelmas.fr/&gt;

Merci d’avance.

--
Julien Delmas

Salut,

Il faudrait confirmer mais je suppose que:

Si un commentaire est posté ou un objet éditorial est modifié tous les caches sont invalidés. Si tu as beaucoup de visites sur l’ensemble de ton site ça va faire générer des miliers de requêtes pour refaire ce cache et la limite de requête fixés par ton hébergeur va être très rapidement atteinte :).

soit tu prévoit un budget plus conséquent pour ne pas avoir cette limite (facilité)
soit tu optimises le squelette et regarde si tu peux utiliser des outils comme cachelab ou autre…

Voilà.

Le mar. 4 févr. 2020 à 15:55, Johan Pustoch <johan.pustoch@gmail.com> a écrit :

Bonjour Julien,

Le problème est apparu depuis le changement d’hébergeur, c’est bien ça ?

Comment as-tu transféré ta base ? Est-ce que les index des différentes
tables sont bien présents ? (tu peux le voir via phpmyadmin)

Et si tu désactives ScolaSPIP (en laissant les autres plugins), ça donne
quoi ?

Bon courage
Johan

Le 04/02/2020 à 13:59, Julien Delmas a écrit :

Bonsoir,

Merci à tous pour votre aide.

Après de très nombreux essais :

  • j’ai vidé le cache/supprimé le dossier cache et cela ne change rien ;
  • j’ai actuellement 8/9 visiteurs en temps réel et cela ne change rien
    aux erreurs ;
  • j’ai désactivé tous les plugins superflus et cela ne change rien ;
  • j’ai désactivé ma surcharge du dossier /squelettes/ et cela ne change
    rien ;
  • d’après les stats, je sature très ponctuellement mon hébergement
    (« Processus démarrés 75/75 »)

Par contre, si je désactive TOUS les plugins, le fonctionnement
redevient normal.
En réactivant seulement mon plugin-squelette ScolaSPIP et ses
dépendances, j’ai de nouveau des erreurs SQL.

Le coupable se trouve probablement dans ces plugins qui sont tous
obligatoires au bon fonctionnement de ScolaSPIP : Bootstrap, Comments,
EVa-web mentions légales, Less Css, Oembed, SPIP Cycle 2, SPIPr-Dist,
Z-core.

Cordialement,


Julien Delmas

Le 3 févr. 2020 à 14:44, Julien Delmas <julien.delmas@gmail.com
mailto:[julien.delmas@gmail.com](mailto:julien.delmas@gmail.com)> a écrit :

Bonjour à tous,

J’ai un site SPIP qui rencontre un certain succès. Selon SPIP, il
accueille entre 10 000 et 50 000 visites par jour.
J’étais auparavant hébergé chez OVH sur une formule pro qui me coûtait
un bras. Je suis passé depuis quelques jours chez o2Switch dont je
suis très satisfait.

Cependant, je vois apparaître de façon complètement aléatoire le
fameux message d’erreur SQL, que je voyais déjà chez OVH :
« Attention : un problème technique (serveur SQL) empêche l’accès à
cette partie du site. Merci de votre compréhension. »

Ce message n’apparaît pas forcément lors des pics de visite, mais de
manière aléatoire. Par exemple, en ce moment, j’ai une quarantaine de
visiteurs en temps réel et le message se répète pour moi. J’ai parfois
des articles qui s’affichent à moitié et j’ai le message d’erreur
« SQL » sur les zones de la page qui contiennent les commentaires et
les articles de la même rubrique.

Le fichier mysql.log ne contient rien. J’utilise une quarantaine
d’article. Le site contient 43 000 commentaires.

Savez-vous comment je peux diagnostiquer d’où vient précisément le
problème ? Existe-t-il d’autres logs plus précis ? Des plugins dédiés
à cela ?

Si vous voulez tester : https://blog.juliendelmas.fr
<https://blog.juliendelmas.fr/>

Merci d’avance.


Julien Delmas


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Bonsoir Johan, bonsoir à tous,

Le 4 févr. 2020 à 14:44, Johan Pustoch <johan.pustoch@gmail.com> a écrit :
Le problème est apparu depuis le changement d’hébergeur, c’est bien ça ?
Comment as-tu transféré ta base ? Est-ce que les index des différentes tables sont bien présents ? (tu peux le voir via phpmyadmin)

Et si tu désactives ScolaSPIP (en laissant les autres plugins), ça donne quoi ?

J’ai fait un export/import SQL, les index sont bien présents…
En désactivant ScolaSPIP seul, j’ai encore de nombreuses erreurs SQL.
Le problème apparaissait déjà chez mon ancien hébergeur mais de façon beaucoup plus épisodique.

Je tiens à tous vous remercier pour vos précieux conseils, j’ai identifié le coupable : le plugin Comments 3.5.0. J’avais fait la mise à jour juste avant le changement d’hébergeur.

Après de très nombreux essais, en repassant le plugin Comments en version 3.4.13, je suis passé de 15 erreurs par minute à 4 en l’espace de 3 heures.

Du coup, je suis vraiment soulagé !

Merci et bonne soirée,


Julien Delmas

Cela n’a pas de sens car les seules différences entre la 3.4.14 et la 3.5.0 sont 3 logos en svg x)

https://git.spip.net/spip-contrib-extensions/comments/commit/85f85a239865d37ed1855553c1374b53eb22c5a0

Le mar. 4 févr. 2020 à 22:37, Julien Delmas <julien.delmas@gmail.com> a écrit :

Bonsoir Johan, bonsoir à tous,

Le 4 févr. 2020 à 14:44, Johan Pustoch <johan.pustoch@gmail.com> a écrit :
Le problème est apparu depuis le changement d’hébergeur, c’est bien ça ?
Comment as-tu transféré ta base ? Est-ce que les index des différentes tables sont bien présents ? (tu peux le voir via phpmyadmin)

Et si tu désactives ScolaSPIP (en laissant les autres plugins), ça donne quoi ?

J’ai fait un export/import SQL, les index sont bien présents…
En désactivant ScolaSPIP seul, j’ai encore de nombreuses erreurs SQL.
Le problème apparaissait déjà chez mon ancien hébergeur mais de façon beaucoup plus épisodique.

Je tiens à tous vous remercier pour vos précieux conseils, j’ai identifié le coupable : le plugin Comments 3.5.0. J’avais fait la mise à jour juste avant le changement d’hébergeur.

Après de très nombreux essais, en repassant le plugin Comments en version 3.4.13, je suis passé de 15 erreurs par minute à 4 en l’espace de 3 heures.

Du coup, je suis vraiment soulagé !

Merci et bonne soirée,


Julien Delmas


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

La 3.4.13 concernerait plutôt ça non ?
https://git.spip.net/spip-contrib-extensions/comments/commit/32eefa2f272e7d42a355fc9f7f70ca61ad43e7d6

Mais je ne vois pas non plus dans ce code ce qui pourrait justifier ça.
Je ne vois plus de requêtes XHR (Ajax) sur les commentaires ce qui, si tu relis mon 1er post, me semblait être la source du problème.