Mysql et ressource CPU

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Mysql et ressource CPU

Message le Dim Nov 25, 2007 21:50

Hello,
J'ai un script qui fait pas mal de requete mysql qui me prend 33% du CPU quand il s'execute et je remarque que sous la commande TOP, pour la ligne correspondant à mysql il est indiqué 100%.
Est-ce que ça veut dire que mysql est bridé pour ne pas consommer plus de 33% de cpu par script?


phpmikedu83
WRInaute accro
WRInaute accro
 
Messages: 1281
Inscription: Sam Aoû 06, 2005 7:34

Message le Dim Nov 25, 2007 22:04

Tu devrais optimiser tes indexs de tables ;-)

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Message le Lun Nov 26, 2007 0:26

euh oué.. mais c sur une requete de copie de table..

jcaron
WRInaute accro
WRInaute accro
 
Messages: 1218
Inscription: Ven Fév 13, 2004 20:33

Re: Mysql et ressource CPU

Message le Lun Nov 26, 2007 0:50

theJB a écrit:J'ai un script qui fait pas mal de requete mysql qui me prend 33% du CPU quand il s'execute et je remarque que sous la commande TOP, pour la ligne correspondant à mysql il est indiqué 100%.
Est-ce que ça veut dire que mysql est bridé pour ne pas consommer plus de 33% de cpu par script?


Je ne comprends pas très bien... Qui prend 33% et qui prend 100%? Comment est-ce mesuré dans les deux cas? J'ai vaguement compris que mysql prend 100% du CPU tel qu'indiqué par top, mais je n'ai pas compris qui prenait 33% (mysql? le processus client?) et comment c'était mesuré (top? autre chose?)?

Jacques.

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Message le Lun Nov 26, 2007 9:21

dans top tu as en haut gauche la charge du cpu (33%)
et puis sur chq ligne pr chq process le % cpu consommé (100%)

Et moi aussi je pige pas, d'ou mon post

jcaron
WRInaute accro
WRInaute accro
 
Messages: 1218
Inscription: Ven Fév 13, 2004 20:33

Message le Lun Nov 26, 2007 11:23

theJB a écrit:dans top tu as en haut gauche la charge du cpu (33%)
et puis sur chq ligne pr chq process le % cpu consommé (100%)


Euh, tu as une ligne avec plusieurs valeurs: user, nice, system, interrupt, idle... Il faut faire le total (excepté idle) pour connaître la consommation CPU totale, pas prendre juste la partie "user"...

Sinon sur un système multi-CPU (y compris hyperthreadé ou multi-core), le % par processus est me semble-t-il relatif à un processeur, alors que les % totaux (en haut) sont globaux (à vérifier, ça dépend probablement aussi des versions de top ou de l'OS).

Avec ça les choses sont elles plus cohérentes?

Jacques.

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Message le Lun Nov 26, 2007 11:32

mon CPU c'est un core 2 DUO.

justement le process mysql prend 100% sur la ligne CPU.
mais la charge globale est de 33%.

Je me demandais donc seulement si c'etait possible d'expliquer cela par le fait que chq process mysql serait bridé à 33% du CPU sur mon serveur.

J'ai d'ailleurs fait le test avec 2x le même process.
La ligne mysql dans les process est à 200% tandis que la charge globale est de 66%.

jcaron
WRInaute accro
WRInaute accro
 
Messages: 1218
Inscription: Ven Fév 13, 2004 20:33

Message le Lun Nov 26, 2007 11:46

theJB a écrit:mon CPU c'est un core 2 DUO.

Donc 2 processeurs.
theJB a écrit:justement le process mysql prend 100% sur la ligne CPU.
mais la charge globale est de 33%.

En comptant user + system + nice + interrupt? Ca devrait être 50%.
theJB a écrit:Je me demandais donc seulement si c'etait possible d'expliquer cela par le fait que chq process mysql serait bridé à 33% du CPU sur mon serveur.

Un process (ou un thread) est forcément limité à l'utilisation d'un seul processeur, donc quand il y en a plusieurs, il ne peut pas tous les utiliser en même temps. Si tu obtiens 50% c'est normal. Si tu obtiens (au total) 33%, soit tu as en fait 3 processeurs (!) soit il y a quelque chose qui ne sait pas compter :-)
theJB a écrit:J'ai d'ailleurs fait le test avec 2x le même process.
La ligne mysql dans les process est à 200% tandis que la charge globale est de 66%.

De mémoire mysql utilise des threads (un par client), donc c'est normal, il utilise deux processeurs à 100% chacun. Et tu devrais avoir 100% utilisés au total (en comptant tout sauf idle), à moins que tu n'aies 3 processeurs...

Jacques.

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Message le Lun Nov 26, 2007 17:44

d'accord ça explique tout!
en tout cas merci bcp pr ces infos


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités