[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Analyse ralentissement transaction MySQL



Grégoire COUTANT a écrit :
[...]
La requête passe par différents état, reste assez longtemps sur l'état
"Writing on net" (60 à 120 secondes) et ensuite passe en "Sleep" (60 à
120 secs également), mais le résultat n'arrive toujours pas sur le PC
du développeur.
Le writing on net peut être long si le résultat est volumineux et qu'il transite par un lien lent sur le trajet. L'état Sleep dure tant que la connexion reste ouverte et qu'aucune requête n'est en cours sur cette connexion.

La voici :
SELECT * FROM content WHERE state = '1' AND id != '5865' AND id !=
'9110' ORDER BY hits DESC;
Très simple...
Heu, si c'est une requête générée (ou non, d'ailleurs), tu devrais envisager :
SELECT * FROM content WHERE state = '1' AND id NOT IN ('5865','9110') ORDER BY hits DESC;
Ça a au moins le mérite d'être plus lisible.

J'ai proposé à l'utilisateur de mettre l'ip du serveur sql dans son
/etc/hosts en pensant que c'était peut être un pb de résolution dns un
peu longue, mais ca ne change rien.
Oui, ça aurait pu, mais apparemment pas dans le sens aller, plutôt dans le sens retour, puisque ton serveur semble recevoir la requête instantanément, mais semble avoir des problèmes pour renvoyer le résultat.

Tu as peut etre un équipement réseau entre le serveur et le poste utilisateur qui cherche à faire une résolution DNS alors que le nom ou l'IP n'est pas défini. Ca peut aussi etre un filtrage de contenu.

Tu peux essayer avec d'autres protocoles comme un téléchargement par HTTP (pas FTP qui jongle avec les ports), par exemple.

Fanfan


Reply to: