OVH Community, votre nouvel espace communautaire.

Requête MYSQL plus lente après un crash serveur.


Un_passant
05/07/2014, 17h18
Je fais cette requête plusieurs fois de suite, ça prend toujours 4 secondes avant de je supprime les index. Une fois que je remet les index, ça prend moins d'une seconde (même à la première requête).

Concernant le Raid, c'est la première chose que j'ai fais

NouveauEnVille
05/07/2014, 15h41
C'est normal que la première fois soit plus longue. Les fois suivantes, le cache est peuplé, que ce soit celui de MySQL ou celui du disque.

Rizz t'a fort justement demandé de diagnostiquer l'état de ton serveur. C'est par là qu'il faudrait commencer. Vérifier que les disques ne sont pas cassés, ou entrain de se casser. Vérifier aussi que le RAID n'est pas en train de se reconstruire ou d'effectuer une check. Ça peut ralentir de façon significative un serveur, surtout si tes unions créent des tables temporaires sur le disque.

Un_passant
05/07/2014, 14h31
Je pense avoir exagéré pour les 2 secondes et c'est avec le traitement des données.

Je test directement dans Mysql, la requête prend 4.3 secondes, je retire les index, elle prend 0.7 secondes.
Je remet les mêmes index qu'au départ et je reste à 0.7 secondes.

Je vais ressayer ma requête dans 3/4 heures.

NouveauEnVille
05/07/2014, 12h52
Deux secondes c'est sûr qu'il faut une mega requête SQL ou un serveur très lent. Par contre, quand les choses marchent moins bien qu'avant suite à un crash, c'est pas bon signe. Les disques peuvent en avoir pris un coup, des fichiers corrompus quelque part, ou manquants...

Sinon, pour la petite anecdote, les indices ça peut se charger en mémoire avec "LOAD INDEX INTO CACHE" (si assez de RAM et configuration adaptée bien entendu).

Rizz
04/07/2014, 17h33
Y'a que le support OVH qui peut faire appel a l’excuse de la grosse requête en espérant que ça passe ^^

Bon et si tu montrai les structures de tes tables et la requetes ... ce serait un bon debut non ?

Et sinon ... Que dit la santé de ton serveur depuis ce crash. Qu'est ce que tu est capable d'en dire ?

Un_passant
04/07/2014, 17h29
C'est une très grosse requête qui affiche des stats en backoffice (avec des union), elle est optimisée. J'ai dis 2 secondes mais c’était surement moins d'une seconde.

Le problème c'est que depuis le crash cette requête devient lente.

Rizz
04/07/2014, 15h44
Y'a pas de raison de perdre ses index mais bon.

Quand tu as des soucis de lenteur tu regarde plutôt du coté des %wa. commencer par faire un top ou un iotop , checker la vitesse de lecture de disque, les autres taches en court ..

Mettre un index sur un table c'est genre le truc à faire quand tu crée la table. Quand tu as des pb de query faut investiguer plutôt que de bêtement ajouter des index probablement en doublon maintenant.

Sinon une requete qui prend deja 2 seconde c'est .. 1000 fois trop. Alors 10 sec ...

Un_passant
04/07/2014, 14h19
Étonnant au ça redevient lent au bout d'un certain temps...

Un_passant
04/07/2014, 12h25
Il existe une méthode afin de recréer automatiquement les index sans devoir les supprimer et les recréer? Merci.

Un_passant
04/07/2014, 10h36
Citation Envoyé par starouille
Salut,

optimise la requête et vérifie que les index sont bien placés (et toujours opérationnels)
J'ai recréé les index et cela fonctionne, merci !

starouille
03/07/2014, 23h02
Salut,

optimise la requête et vérifie que les index sont bien placés (et toujours opérationnels)

Un_passant
03/07/2014, 20h43
Bonjour,
Mon serveur a crashé cet après midi suite à une défaillance de l'alim.
Au redémarrage tout refonctionne bien, mais j'ai remarqué que sur une requête assez longue de stats qui prenait 2/3 secondes avant le crash, prend maintenant presque 10 secondes.
J'ai fait un optimise et j'ai réparé les tables, redemarré MYSQL mais j'ai le même souci sur cette requête. C'est une requête avec des UNION.

Avez vous une idée svp?