Question charge serveur (load average)

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Question charge serveur (load average)

Message le Mar Fév 08, 2011 13:45

Bonjour,

Je croyais que la valeur du load average était liée au nombre de proccesseurs de la machine... Mais en ce moment ça ne colle pas du tout... J'ai un serveur bi processeur quadcore, donc 8 proc logiques. Sur un linux.
Lorsque ej fais un "top", j'ai 8 de load verage et 33% de idle... Et le serveur ne ramme pas... Hors il y a bien une valeur de 1 par processeur non?...

Image


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mar Fév 08, 2011 20:41

Le load n'a rien à voir avec le nombre de process lancé.
Tu peux installer htop pour voir "plus graphiquement".
Mais bon là ton serveur "ramme" même si ça ne se voit pas.
Le load average reprends beaucoup d'informations de la machine et compile cela en une valeur unique.
Je serais curieux de savoir ce que c'est comme site ;)
Un joomla ou un wordpress avec pleins de plugins ?

Edit: En passant, pour que MySQL load autant c'est qu'il manque généralement des indexes. Bon ça peut aussi être énormément de connexions mais vu les process apache ça semble être ça. (ou alors des requêtes très complexes).

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 7:53

Merci.
En fait je n'ai jamais dit que ça correspondait au nombre de process lancés, mais au nombre de processeurs logiques (CPUs)
Par contre sur mes graphes Munin je dépasse pas le 500% sur 800% dispo...


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 9:12

Recif a écrit:Merci.
En fait je n'ai jamais dit que ça correspondait au nombre de process lancés, mais au nombre de processeurs logiques (CPUs)
Par contre sur mes graphes Munin je dépasse pas le 500% sur 800% dispo...

C'est quand même "beaucoup". Pour être "optimal" faudrait "jamais" dépasser les 60% "total" (480% dans ton cas).

Bon par contre soit ton site est lourd soit tu as des trucs bloquant niveau requête SQL, je pense que t'as des bons trucs à rajouter. Un "log queries not using indexes" pourrait être pas mal pour voir si tu peux faire des bons petits trucs, des fois un simple INDEX fait passer la conso CPU de 100% à 0%. En installant APC tu ferais gagner pas mal aussi.

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 9:46

Ok, je ne connais pas "log queries not using indexes", c'est une appli à installer? Idem pour APC?
Merci


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 10:17

Recif a écrit:Ok, je ne connais pas "log queries not using indexes", c'est une appli à installer? Idem pour APC?
Merci

Pour le "log queries not using indexes" c'est une option de MySQL (à mettre dans ton my.cnf):
Code: Tout sélectionner
log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 5
log-queries-not-using-indexes

Pour APC sous Debian:
Code: Tout sélectionner
apt-get install php5-apc && /etc/init.d/apache2 restart

Sur un phpmyadmin (par exemple) APC donne ça :

Sans APC : Requests per second: 148.87 [#/sec] (mean)
Avec APC : Requests per second: 503.18 [#/sec] (mean)
Avec APC & Sans Suhosin : Requests per second: 563.98 [#/sec] (mean)

Pour un joomla avec pas mal de module :
Sans APC : Requests per second: 11.30 [#/sec] (mean)
Avec APC : Requests per second: 22.64 [#/sec] (mean)

=> Requests per second = nombre de requête acceptées par seconde et répondu en code 200 par le serveur.

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 11:22

Ouïe... J'ai mis le log-queries-not-using-indexes et je dois avoir un fichier qui grossi de 20ko toute les secondes! J'ai arrêté de suite... Le problème c'est qu'il logue vraiment tout et que certaines requêtes loguées ne sont pas pertinentes. Apparemment il ne considère pas le primary index comme un index... Bizarre...


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 11:24

Recif a écrit:Ouïe... J'ai mis le log-queries-not-using-indexes et je dois avoir un fichier qui grossi de 20ko toute les secondes! J'ai arrêté de suite... Le problème c'est qu'il logue vraiment tout et que certaines requêtes loguées ne sont pas pertinentes. Apparemment il ne considère pas le primary index comme un index... Bizarre...

Il faut faire des EXPLAIN sur chaque requête qui est logué.
Sur les sites avec beaucoup de "bad queries" et beaucoup de visites je log 10 minutes la nuit et ça fait de quoi bosser pour quelques jours.

C/C ici des exemples de EXPLAIN <ta requête> ça donnera des bonnes idées je pense.

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 11:29

Qu'appelles tu des "explain"?


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 11:49

Requête :
Code: Tout sélectionner
SELECT * FROM as_blog LIMIT 1;
// output ici


Explain:
Code: Tout sélectionner
EXPLAIN SELECT * FROM as_blog LIMIT 1;
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
| id | select_type | table   | type | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | as_blog | ALL  | NULL          | NULL | NULL    | NULL |   94 |       |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+

Pas d'INDEX mais normal car pas de WHERE.

Code: Tout sélectionner
EXPLAIN SELECT ID FROM as_blog LIMIT 1;
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+
| id | select_type | table   | type  | possible_keys | key     | key_len | ref  | rows | Extra       |
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+
|  1 | SIMPLE      | as_blog | index | NULL          | PRIMARY | 8       | NULL |   94 | Using index |
+----+-------------+---------+-------+---------------+---------+---------+------+------+-------------+

Là on voit que c'est bon.

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 12:01

Ca veut dire qu'il faut modifier le code des requêtes dans les scripts php?... J'ai peur...


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 12:10

Recif a écrit:Ca veut dire qu'il faut modifier le code des requêtes dans les scripts php?... J'ai peur...

Non, créer des INDEX SQL si pas présent mais bon, c'est pas non plus obligatoire je te donnais des pistes, file nous des EXPLAIN on pourra te dire si ça peut aider ou non, vu le load de ton MySQL d'après ton top je pense qu'ils y a des trucs à faire (sauf si tu as des LIKE partout)

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 12:58

Euh.. Désolé mais je sais pas comment te donner des "expliqn". Je dois faire quoi concrêtement? :(
Pour les likes en effet j'ai quelques grosses requêtes comme ça, mais c'est loin d'être généralisé. Par contre peut être qu'en effet ce sont celles ci qui pénalisent.


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 13:16

pour les EXPLAIN tu tappes ça en SSH (connecté à MySQL bien entendu) ou simplement dans PHPMyAdmin (le bouton "expliquer SQL")

Recif
WRInaute impliqué
WRInaute impliqué
 
Messages: 816
Inscription: 25 Aoû 2004

Re: Question charge serveur (load average)

Message le Mer Fév 09, 2011 14:49

Je ne trouve pas le bouton "expliquer SQL" dans phpmyadmin :(

Question charge serveur (load average)

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 les experts Google Analytics de Ranking Metrics.

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