DEDIBOX-NEWS.COM

Le Forum Non Officiel de la DEDIBOX

Vous n'êtes pas identifié.

#1 2007-12-06 19:29:42

heithem44
Membre
Date d'inscription: 2007-11-15
Messages: 20

Serveur MySQL prend 100% Du CPU

Salut à tous, je gére une dedi j'y hébérge un site + forum (taille de la base 550 mb) et le serveur MySQL me prend toutes les ressources du CPU, du coup le site il rame c'est trés génant, d'ailleurs il n'y a pas que le site meme pas SSH et Webmin sa rame aussi et quand je le stop tout remarche bien mais une fois le serveur SQL relancé il suffit de quelques secondes pour que le CPU revienne a 100 sad
Via PHPMYADMIN j'ai réparé, optimisé et analysé toutes les tables dont la le site rame moins mais le CPU toujours a 100% comment fait SVP sad

Merci a vous !!

Hors ligne

 

#2 2007-12-06 20:11:59

Phach
Membres d'honneurs
Lieu: France
Date d'inscription: 2006-05-05
Messages: 1013
Site web

Re: Serveur MySQL prend 100% Du CPU

tu dois avoir des requetes codés avec les pieds.
créé des index sur les champs souvent utilisé si c'est pas déjà fait.
et tu as une commande qui te log les requetes qui prennent du temps (slow query ou un truc du genre), je te laisse faire une recherche sur le site de mysql.


http://bayimg.com/image/aakogaabp.jpg http://www.radioparadise.com/graphics/banner_80.gif

Hors ligne

 

#3 2007-12-06 21:36:32

heithem44
Membre
Date d'inscription: 2007-11-15
Messages: 20

Re: Serveur MySQL prend 100% Du CPU

merci,  comment pourrai je savoir si mes tables sont indéxées ou pas ? et comment le faire ?

Hors ligne

 

#4 2007-12-06 23:05:33

Phach
Membres d'honneurs
Lieu: France
Date d'inscription: 2006-05-05
Messages: 1013
Site web

Re: Serveur MySQL prend 100% Du CPU


http://bayimg.com/image/aakogaabp.jpg http://www.radioparadise.com/graphics/banner_80.gif

Hors ligne

 

#5 2007-12-07 00:18:57

heithem44
Membre
Date d'inscription: 2007-11-15
Messages: 20

Re: Serveur MySQL prend 100% Du CPU

merci pach je vais checker tot ça !

Hors ligne

 

#6 2008-01-07 17:55:50

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

Salut,

J'ai semble t'il le même problème, aussi j'évite d'ouvrir un nouveau topic. Quand je fais un TOP, MySQL plafonne entre 60 et 100%. Pour arrêter le service, il a bien fallu 2 minutes. Et quand je l'ai relancé, il m'a dit "Checking for crashed MySQL tables in the background."

J'ai pas eu besoin de regarder du coté des logs, mais simplement de mes tables. J'en ai une (smf_log_errors provenant du forum SMF) qui plafonne à 1,3 Go avec 4 751 370 enregistrements).

Est-ce que le "Checking for crashed MySQL tables in the background" peut expliquer ce taux CPU très haut ou est-ce qu'il faut tout simplement se résoudre à la mise en cause de cette table "à dégraisser" ?

Hors ligne

 

#7 2008-01-07 21:24:46

Cristal
Jeidi
Lieu: France
Date d'inscription: 2006-10-24
Messages: 129
Site web

Re: Serveur MySQL prend 100% Du CPU

MySQL devient instable quand on a plus de 1 Go de données.

Hors ligne

 

#8 2008-01-07 22:06:15

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

Bon, je l'ai soulagé plus que de raison, je l'ai même updaté/upgradé (apt & co), j'ai affiné un réglage dans php.ini concernant le garbage collector qui semblait poser pb avec SMF sous Debian, rebooté, prié, bu 1 café, me suis mouché... mais rien n'y a fait, mysqld flirt tj avec les 90-95 % :'(

Exemple :

Code:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                       
 2051 mysql     15   0  120m  40m 4868 S 99.7  4.0  17:34.33 mysqld

Dernière modification par chr!x (2008-01-07 22:08:39)

Hors ligne

 

#9 2008-01-07 22:10:15

Mogui
D'honneur de membre
Lieu: 92 et 67
Date d'inscription: 2006-05-28
Messages: 1631
Site web

Re: Serveur MySQL prend 100% Du CPU

Un petit coup de "SHOW PROCESSLIST" dans mysql te répond quoi ?

Dernière modification par Mogui (2008-01-07 22:11:40)


Les gens normaux... croient que si ça marche, c'est qu'il n'y a rien à réparer.
Les ingénieurs croient que si ça marche, c'est que ça ne fait pas encore assez de choses.

Hors ligne

 

#10 2008-01-07 22:35:47

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

Bien figures toi que je suis très vexé, car il me veut pas accéder à cette demande hmm

sd-xxxx:~# mysqladmin -p processlist
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

Là, chui mal sad

Dernière modification par chr!x (2008-01-07 22:38:17)

Hors ligne

 

#11 2008-01-07 22:51:33

Mogui
D'honneur de membre
Lieu: 92 et 67
Date d'inscription: 2006-05-28
Messages: 1631
Site web

Re: Serveur MySQL prend 100% Du CPU

T'as tapé ton password root ?

Perso, pour ce genre de req, je passerais plutot par phpmyadmin (qui liste proprement en tableaux).


Les gens normaux... croient que si ça marche, c'est qu'il n'y a rien à réparer.
Les ingénieurs croient que si ça marche, c'est que ça ne fait pas encore assez de choses.

Hors ligne

 

#12 2008-01-07 23:05:38

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

Jviens de m'en sortir avec ça. En plus, j'avais pas d'user root, mais un autre nom... Pfff !

Donc voici ce que ca donne :

Code:

sd-xxxx:~# mysqladmin -u chrix -p processlist
Enter password: 
+-----+-------+-----------+----+---------+------+-------+------------------+
| Id  | User  | Host      | db | Command | Time | State | Info             |
+-----+-------+-----------+----+---------+------+-------+------------------+
| 203 | chrix | localhost |    | Query   | 0    |       | show processlist |
+-----+-------+-----------+----+---------+------+-------+------------------+

Bref, rien de pertinant... Et dans la foulée, nouveau TOP:

Code:

sd-xxxx:~# top

top - 23:03:59 up  1:20,  1 user,  load average: 3.00, 4.03, 5.51
Tasks: 127 total,   1 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s): 55.1% us, 44.9% sy,  0.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1017980k total,   859972k used,   158008k free,    52108k buffers
Swap:  1044216k total,        0k used,  1044216k free,   452932k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                          
 7105 mysql     18   0  118m  37m 4776 S 96.7  3.7   4:50.16 mysqld

Sinon j'ai essayé ca :

Code:

sd-xxxx:~# mysqladmin -u chrix -p status
Enter password: 
Uptime: 643  Threads: 3  Questions: 7726  Slow queries: 80  Opens: 1024  Flush tables: 1  Open tables: 64  Queries per second avg: 12.016

Et PS m'informe de ceci :

Code:

sd-xxxx:~# ps -p 7105 -F
UID        PID  PPID  C    SZ  RSS PSR STIME TTY          TIME CMD
mysql     7105  7068 74 30711 43540  0 22:57 ?        00:18:52 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
sd-xxxx:~# ps -p 7068 -F
UID        PID  PPID  C    SZ  RSS PSR STIME TTY          TIME CMD
root      7068     1  0   983 1344   0 22:57 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe

Normal que ca soit MySQL_Safe qui ai initialisé MySQL ?


... Sinon, où chercher, je ne sais ...

Dernière modification par chr!x (2008-01-07 23:37:22)

Hors ligne

 

#13 2008-01-08 15:14:46

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

A vot bon coeur M'sieurs-Dames, j'ai le MySQL qui chauffe du chapeau, pitié pour lui wink

Hors ligne

 

#14 2008-01-08 17:21:05

Mogui
D'honneur de membre
Lieu: 92 et 67
Date d'inscription: 2006-05-28
Messages: 1631
Site web

Re: Serveur MySQL prend 100% Du CPU

chr!x a écrit:

A vot bon coeur M'sieurs-Dames, j'ai le MySQL qui chauffe du chapeau, pitié pour lui wink

T'es le premier dans la liste des topics, pas la peine de upper tongue


Les gens normaux... croient que si ça marche, c'est qu'il n'y a rien à réparer.
Les ingénieurs croient que si ça marche, c'est que ça ne fait pas encore assez de choses.

Hors ligne

 

#15 2008-01-09 16:45:55

chr!x
Membre
Date d'inscription: 2007-04-22
Messages: 39

Re: Serveur MySQL prend 100% Du CPU

Réglé, et merci Mogui pour m'avoir mis sur la piste.

Pour la petite histoire, j'ai pu via PhpMyAdmin me connecter en tant que root et lister les process. J'ai pu remarquer que MySQL croulait sous des requêtes multiples. Après avoir killé les process, ils venenaient aussi sec. J'ai donc regardé du coté du site exploitant la BD incriminé. Il s'agit d'un blog tournant sous DotClear 1.2.5, et qui en dépis d'un filtre Baysien antispam mal trainé, se faisait assaillir de trackback vers des sites porno. Plus de 50 nouvelles entrées à la minute. Je sais pas depuis quand ce petit manège durait, mais j'avais une table (dc_comment) de près de 932 Mo...

J'ai donc fermé les trackbacks & commentaires de ce blog, purgé la table, et mysqld est revenu dans les limites du raisonnable. Ma dédibox tourne désormais à 3% d'occupation CPU.

Dernière modification par chr!x (2008-01-09 16:46:48)

Hors ligne

 

Pied de page des forums

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson