Ralentissement et plantage sur accueil

salut

Quel est votre environnement ?
Debian 5.10.0-33-amd64
php 8.3.17
MySQL or MariaDB 10.5.28-MariaDB-0+deb11u2
auto hébergé 4 CPU 8 Go RAM sur ssd

200 utilisateurs
20k factures ventes

Quel est le comportement observé ?

arrivé sur la page de login les utilisateurs d’un groupe en particulier (« commerciaux » chez nous) ont la page qui charge infiniment puis timeout juste après avoir rentré login/pw puis cliqué sur login, en base j’ai une requête qui tourne en boucle. Ca semble corrélé car si je restart le maria le login fonctionne.
La base prend tout le CPU et ne répond plus.

J’ai chopé deux requêtes qui ont l’air de produire le bug :

  • une qui commence par SELECT date_format(f.date [......]
  • l’autre SELECT date_format(datef [......]

Si qqun a une piste on est preneur… Merci !

Bonjour,

Debian 5 est bien la version que vous exécutez ? Ça paraît un peu surprenant avec php et mariadb dans ces versions, mais soit.

Concernant la requête, avez-vous essayé d’augmenter le max_execution_time de php pour voir si ça permettait de passer ?
Aussi, les logs de votre serveur web ou encore de Dolibarr pourraient donner de plus amples informations. Avez-vous regardé ce qu’il se passe dans ces fichiers au moment du plantage ?

Si vous entrez sur Dolibarr par une autre page, comme https://vortre.dolibarr.fr/projet/index.php?mainmenu=project&leftmenu= par exemple, avez-vous accès au reste des fonctionnalités ?

L’activation des slow-queries de mariadb pourrait aussi donner des pistes plus précises.

Bonjour,

supprimez les widgets « statistiques » sur la page d’accueil, c’est gourmand en ressources, et ça ressemble aux requêtes que vous indiquez

1 « J'aime »

Debian 11 d’après les copies d’écran, 5.10 c’est le kernel

2 « J'aime »

Bonjour après une rapide recherche/vérification dans le code, j’ai remarqué une requête foireuse dans la fonction getNbByMonth
cela n’arrive que lorsqu’un utilisateur est associé à un tiers

il y a une dizaine de requete impacté, je me lance de la correction

alors c’est meme plus tordu que cela, c’est quand on change le where dans l’appel de la fonction et que cela fait sauter la jointure…

1 « J'aime »

Bonjour :slightly_smiling_face:
De mon coté c’est ce que j’ai fait à tous les utilisateurs. Le chargement au login est bien plus rapide.

merci beaucoup pour le retour rapide
j’ai désactivé tous les widgets sur l’instance, en attente de voir s’il y a du mieux.

1 « J'aime »