Interpréter la fonction TOP sur un serveur dédié

WRInaute discret
Bonjour,
Avec mon dédié, il y aune chose que je me suis toujours demandé, 2 choses même:
- le nombre de Tasks (ici 127), dont 1 running signifie quoi ? Est-il normal qu'il s'élève avec le trafic ? Faut-il chercher à le réduire et avec quel type de réglages config ?
- le load average: souvent sur mon serveur il grimpe alors que la charge cpu reste faible. Même type de question: cela signifie quoi, comment le limiter ?

En exemple, le top de mon serveur, un seul vrai site avec en ce moment 200 personnes assez actives sur un forum.

top - 20:32:12 up 10 days, 6:01, 1 user, load average: 0.42, 0.43, 0.48
Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie
Cpu(s): 28.4% us, 6.0% sy, 0.0% ni, 64.8% id, 0.3% wa, 0.2% hi, 0.3% si
Mem: 1035848k total, 993596k used, 42252k free, 41044k buffers
Swap: 2650684k total, 13952k used, 2636732k free, 630512k cached
 
Nouveau WRInaute
Le load average est donné à 15, 5 et 1 minute. C'est une valeur sensée représenter la charge de ton processeur. Elle est basée sur le nombre de process en attente d'exécution dans la queue noyau...
Bref, c'est une valeur qui change en fonction:
- de l'utilisation processeur
- des accès disque
- de l'utilisation réseau
et de plein d'autres choses.

Par exemple, avec beaucoup de gros accès disque, on peut avoir le processeur qui passe son temps à attendre les disques. Dans ce cas, le processeur est en idle, alors que la charge est haute, et les temps de réponse longs.

C'est donc le load average la donnée la plus parlante pour savoir si le serveur est saturé ou non. L'inconvénient, c'est qu'elle ne permet pas de savoir directement d'où vient la saturation.
 
WRInaute accro
Pour 1 processeur il faut que ta charge soit inférieur à 1, pour 2 à 2 etc...

En gros si tu dépasse 1 avec un seul processeur c'est qu'il y a un souci quelque part.
 
Nouveau WRInaute
JeunZ a dit:
Pour 1 processeur il faut que ta charge soit inférieur à 1, pour 2 à 2 etc...

En gros si tu dépasse 1 avec un seul processeur c'est qu'il y a un souci quelque part.

tout ceci est faux
 
WRInaute passionné
ajax a dit:
top - 20:32:12 up 10 days, 6:01, 1 user, load average: 0.42, 0.43, 0.48
Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie
Cpu(s): 28.4% us, 6.0% sy, 0.0% ni, 64.8% id, 0.3% wa, 0.2% hi, 0.3% si
Mem: 1035848k total, 993596k used, 42252k free, 41044k buffers
Swap: 2650684k total, 13952k used, 2636732k free, 630512k cached

Tous tes chiffres sont corrects. Le swap est bon (pas de probleme de RAM), le nombre de processus est ok (un peu eleve mais ca depend de ce que tu fais tourner) et la charge raisonnable (verifie les acces disques).

ajax a dit:
le nombre de Tasks. Est-il normal qu'il s'élève avec le trafic ?
Oui. Ce nombre inclus l'ensemble des tasks, y compris les processus fils lance par apache (plus de traffic implique plus de processus, dans les limites fixees par ton httpd.conf)
 
Nouveau WRInaute
JeunZ a dit:
fab1208 a dit:
JeunZ a dit:
Pour 1 processeur il faut que ta charge soit inférieur à 1, pour 2 à 2 etc...

En gros si tu dépasse 1 avec un seul processeur c'est qu'il y a un souci quelque part.

tout ceci est faux

C'est nouveau que ce soit faux?

renseigne toi les valeurs que tu annonces ne sont pas bonne, car le load pour 1 processeur peut allégrement dépasser le 1 sans probleme et aller jusque 3 maximum au dela faut s'inquiéter
 
WRInaute discret
Nombre de processus un peu élevé: je fais surtout tourner un forum. Quels réglages permettent de le baisser ?
Merci.
 
WRInaute occasionnel
Une charge de 0.42 est un peu limite toute de même... A la moindre pointe de traffic, les temps de réponse de ton serveur vont pas mal augmenter. Essaie d'avoir plus de marge (optimisation de ta config, de tes scripts, caches, location d'un serveur plus puissant,...) L'idéal est de se situer en dessous de 0.1, voire 0.05 .

Arnaud
 
WRInaute occasionnel
fab1208 a dit:
JeunZ a dit:
fab1208 a dit:
JeunZ a dit:
Pour 1 processeur il faut que ta charge soit inférieur à 1, pour 2 à 2 etc...

En gros si tu dépasse 1 avec un seul processeur c'est qu'il y a un souci quelque part.

tout ceci est faux

C'est nouveau que ce soit faux?

renseigne toi les valeurs que tu annonces ne sont pas bonne, car le load pour 1 processeur peut allégrement dépasser le 1 sans probleme et aller jusque 3 maximum au dela faut s'inquiéter

Ben ca peut aller au dela de 3! y a pas trop de limite... mais si t'as 1 processeur, au dela de 1, tous les programme qui arrivent sont mis en attente...
 
WRInaute discret
schtroumpf a dit:
Une charge de 0.42 est un peu limite toute de même... A la moindre pointe de traffic, les temps de réponse de ton serveur vont pas mal augmenter. Essaie d'avoir plus de marge (optimisation de ta config, de tes scripts, caches, location d'un serveur plus puissant,...) L'idéal est de se situer en dessous de 0.1, voire 0.05 .

Arnaud
c'est un Xeon avec 1 de ram et eaccelerator. Les chiffres dont tu me parles, je ne les ai qu'avec pêrsonne dessus. Tu n'es pas un peu hyper optimiste la ?
... Charge idéale à 0.05 !!!
 
WRInaute accro
ey faut arrêter les gars !!! ( ou les filles s'il y en a sur cette discussion ;) )

Je suis d'accord avec fab1208.

[ # ] La charge du processeur n'est pas une valeur vraiment fiable du fait que ton CPU peut être à 100% juste au moment ou ton outil rafraichie les données... Sachant que ton CPU peut être à 0 quelques millisecondes après...


[ # ] Le nombre de processus n'est vraiment pas inquiettant...
Si tu as un serveur qui regroupe: APACHE - PHP - SMTP - POP/IMAP - FIREWALL - FTP


[ # ] Le paramètre principale et le load average comme la souligné fab1208.

Alors pour l'histoire du 1 pour un proco, etc...
non !!!!

primo: tout dépend de l'utilisation de ton serveur.
si utilisation comme indiqué ci-dessus (apache, php, etc..) il est vrai qu'il est conseillé d'avoir entre 0 (étant le mieux) et 1.5. Bien entendu, on peux avoir plus, met le traitement des tâches sera plus long. En effet lorsque tu arrive à 1 cela signifie que tu as 1 tâche en attente...etc..

A savoir que l'indication va dans cette ordre:
1. ..de la minute en cours
2. ..des cinq dernières minutes en cours
3. ..des 15 dernières minutes en cours

Autant d'éléments indicateurs en fonction du temps.

_ _ _
A savoir qu'un serveur de backup dans la journée aura sont load average à 0 (si sauvegarde la nuit). Au moment de la sauvegarde celui-ci peut bien largement dépasser les 1, en moyenne conseillé en dessous de 3.5. En effet une attente pour la sauvegarde n'est pas très pénalisante pour les utilisateurs...

Après il ne faut pas faire craquer le serveur non plus...


Voila, en espérant que cela vous aidera. :wink:
 
Nouveau WRInaute
schtroumpf a dit:
Une charge de 0.42 est un peu limite toute de même... A la moindre pointe de traffic, les temps de réponse de ton serveur vont pas mal augmenter. Essaie d'avoir plus de marge (optimisation de ta config, de tes scripts, caches, location d'un serveur plus puissant,...) L'idéal est de se situer en dessous de 0.1, voire 0.05 .

Arnaud

Salut,

Tu es totallement à coté de la plaque :p

Comme dit par les autres, aux alentour de 1 c'est bien pour un mono cpu...

A partir de 3 il faut songer à optimiser/évoluer.
 
WRInaute accro
chava2b a dit:
fab1208 a dit:
JeunZ a dit:
fab1208 a dit:
JeunZ a dit:
Pour 1 processeur il faut que ta charge soit inférieur à 1, pour 2 à 2 etc...

En gros si tu dépasse 1 avec un seul processeur c'est qu'il y a un souci quelque part.

tout ceci est faux

C'est nouveau que ce soit faux?

renseigne toi les valeurs que tu annonces ne sont pas bonne, car le load pour 1 processeur peut allégrement dépasser le 1 sans probleme et aller jusque 3 maximum au dela faut s'inquiéter

Ben ca peut aller au dela de 3! y a pas trop de limite... mais si t'as 1 processeur, au dela de 1, tous les programme qui arrivent sont mis en attente...

Oui je n'ai pas dit qu'on ne peut pas dépasser mais il faut si possible ne pas dépasser 1.

De la à dire que ce que j'ai dit est faux ^^.
 
WRInaute discret
C'est justement là ma question: avec un forum actif, quels réglages permettent de limiter le load average.
 
WRInaute accro
fais une recherche sur optimisation serveur dédié sur WRI ou Google web, tu devrais trouver pas mal d'info. On avait plusieurs post concernant cela.
 
WRInaute discret
Ba oui mais tout cela tu le trouve dans toutes les langues, parfois moins bien traduit. Ce qui m'intéresse ces vos expériences, pas la science infuse. Sur tous mes serveurs (j'en suis à mon troisième) j'ai toujours eu un probleme de load assez élevé, quoi que je fasse !

Un truc intéressant, c'est que quelques uns postent leur top en indiquant le nombre de personnes actuellement sur leur site.
 
WRInaute occasionnel
CrazyMoto a dit:
schtroumpf a dit:
Une charge de 0.42 est un peu limite toute de même... A la moindre pointe de traffic, les temps de réponse de ton serveur vont pas mal augmenter. Essaie d'avoir plus de marge (optimisation de ta config, de tes scripts, caches, location d'un serveur plus puissant,...) L'idéal est de se situer en dessous de 0.1, voire 0.05 .

Arnaud

Salut,

Tu es totallement à coté de la plaque :p

Comme dit par les autres, aux alentour de 1 c'est bien pour un mono cpu...

A partir de 3 il faut songer à optimiser/évoluer.

C'est toujours mieux d'avancer des arguments quand on fait ce genre de réponse... Voici les miens :

- comme l'a dit thierry8, la charge optimal d'un serveur dépend de l'utilisation que tu en fait. Si c'est pour faire du calcul, alors, ok une charge de 1 est optimale, puisque le serveur sera utilisé en permanence, donc au maximum de ses performances. Les contraintes ne sont pas les mêmes pour un serveur web. Les requètes (http ou autre) ont une répartition plutôt chaotique dans le temps. Tu peux très bien en avoir beaucoup sur quelques secondes, puis, plus rien pendant quelques minutes. C'est là qu'est la différence avec un serveur de calcul pour lequel la répartition des requètes sera très homogène dans le temps. Donc, si tu veux pouvoir répondre aux requètes dans un temps convenable (moins de 1s me paraît être un temps d'exécution optimal d'une page php et je vise plutôt 0,3s), il faut un serveur "surdimensionné" par rapport à ce qui serait nécessaire si la même quantité de requètes était étalée régulièrement. Un facteur 10 me paraît raisonnable, d'où une charge moyenne optimale (sur 15 minutes) de 0,1 .

- ensuite, quand tu es toujours à la limite des capacités de ton serveur, au moindre problème, il risque de saturer, voire de planter. Tu n'est jamais à l'abri d'une attaque (flood notamment) par exemple. Mais je suppose également que tu as des cron qui s'éxécutent régulièrement et qui pompent pas mal de ressources. En tous cas, c'est le cas sur mon serveur. Durant ces périodes, la charge grimpe en flêche (elle dépasse allègrement 1 une fois par jour chez moi). Les temps d'accès aux sites hébergés sur le serveur pendant ces periodes vont donc bien augmenter. Et la qualité, pour moi, c'est de garantir qu'à n'importe quel moment, ces temps d'accès soient raisonnables. Avec un serveur ayant une charge de 1 en moyenne, impossible de garantir celà (ou alors tu me donnes la recette... :wink: ).

Voilà ce que j'en pense.

Arnaud
 
Discussions similaires
Haut