ZuckBin Posté 22 Novembre 2005 Posté 22 Novembre 2005 Bonjour, Je suis un novice en administration de serveur. Je possede un serveur dédié: P4 3 Ghz HT, 1 Go de Ram. J'ai un load average toujours en dessous de 1. Par momment, mon load average passe largement au dessus de 1 (plus de 20), a cause de mysqld. J'ai deja regarde les logs, mais j'ai rien trouvé. J'ai vérifier les cron, de meme. Je ne suis pas assez callé pour trouvé la cause du probleme. Que peu t'il provoquer cette monté de surcharge qui dure jamais plus de 10 mins. Merci de votre aide.
Dan Posté 22 Novembre 2005 Posté 22 Novembre 2005 Il faut regarder dans les logs de mysql, et plus particulièrement dans les slow_queries. Tu dois avoir des requêtes joufflues qui font écraser mysql. Dan
ZuckBin Posté 22 Novembre 2005 Auteur Posté 22 Novembre 2005 Mon log mysql des slow_querry est toujours vide. Voici mon fichier de config my.cnf [mysqld]safe-show-databaseinnodb_data_file_path=ibdata1:10M:autoextenddatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock[mysql.server]user=mysqlbasedir=/var/lib[safe_mysqld]err-log=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidlog-slow-queries =/var/log/mysql_slow.logset-variable = long_query_time = 5 Et voici le chmod du fichier mysql_slow.log: -rw-r--r-- 1 root root 0 sep 12 22:07 mysql_slow.log Cordialement.
Dan Posté 22 Novembre 2005 Posté 22 Novembre 2005 Il est vide parce que mysql ne peut rien y écrire. Il faut lui donner mysql comme user et comme group Donc "chown mysql.mysql /var/log/mysql_slow.log" Ensuite tu relances mysql. Il est possible que ces montées en charge soient dues à l'ipossibilité d'écrire dans ce fichier. Dan <edit: corrigé le chown>
ZuckBin Posté 22 Novembre 2005 Auteur Posté 22 Novembre 2005 Voila maintenant les droits sur le fichier: -rw-r----- 1 mysql mysql 0 sep 12 22:07 mysql_slow.log J'ai relancer mysql, par contre le fichier est toujours vide, meme apres plusieurs minutes. Cordialement.
Dan Posté 22 Novembre 2005 Posté 22 Novembre 2005 Je ne sais pas si ta ligne: set-variable = long_query_time = 5 est correcte avec les espaces autour du second signe = Ce qui marche chez moi est set-variable = long_query_time=5 Cela devrait enregistrer dans le fichier mysql_slow.log toutes les requêtes excédant 5 secondes. Dan PS: il faudra à nouveau redémarrer mysql
ZuckBin Posté 22 Novembre 2005 Auteur Posté 22 Novembre 2005 J'ai tout fait comme indiqué Voici les droits sur le fichier: -rw-r----- 1 mysql mysql 0 sep 12 22:07 mysql_slow.log Ca fais 2 heures que j'ai effectué la modification, toujours aucun changement, j'ai meme mis la valeur a 2. ++
NiCoS Posté 24 Novembre 2005 Posté 24 Novembre 2005 (modifié) "chmod mysql.mysql /var/log/mysql_slow.log" C'est pas chmod mais chown et sur ma debian sarge, le group c'est adm et non pas mysql... donc chown mysql:adm /var/log/mysql_slow.log Tu as aussi mytop qui peut t'être utile pour voir quelles sont les requêtes MySQL qui passent sur ton serveur Voir le bas de ce tutoriel : http://www.destination-linux.org/Monitorer-MySQL.html Modifié 24 Novembre 2005 par NiCoS
Dan Posté 24 Novembre 2005 Posté 24 Novembre 2005 C'est pas chmod mais chown Clair... c'est ce qui arrive quand on ne se relit pas J'ai corrigé le post. Sur Redhat c'est mysql.mysql ... l'important est surtout d'avoir le bon propriétaire de fichier.
cledunet Posté 24 Novembre 2005 Posté 24 Novembre 2005 Si cela peut aider ... il y a un outil aussi très interressant à utiliser pour contrôler les requêtes sql c'est "mtop" nous l'utilisons sur nos serveurs et nous permets de voir quasi-immediatement le compte sql qui surcharge et en plus on peut avoir le detail de la requete qui en est la cause. voici le lien ou l'on trouve ce script : MTOP
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant