Aller au contenu

Sujets conseillés

Posté

Bonjour à tous,

Je sais ce sujet n'est pas nouveau mais j'ai vraiment besoin d'aide..; J'avance à taton mais j'ai vraiment l'impression que les différents paramètres que j'applique à mon httpd.conf ne change rien ...

J'ai un serveur OVH avec les caractéristiques suivantes:

- SUPERPLAN sur distribution OVH Release 2 basée sur Gentoo.

- Processeur Intel Core Duao 2.33 GHz

- 2 Go de RAM (1Go de mem + 1 Go de Swap)

Ma config Apache est la suivante:

<IfModule prefork.c>
StartServers 5
MinSpareServers 15
MaxSpareServers 30
#ServerLimit 350
MaxClients 250
MaxRequestsPerChild 1000
</IfModule>

Je fais un PS aux | grep nobody (nobody est l'utilisateur des processus httpd).

La colonne RSS me dit que mes processus Apache occupe en moyenne 3000 Ko soit 3 Mo.

USER	   PID %CPU %MEM	VSZ   RSS TTY	  STAT START   TIME COMMAND
nobody 5536 0.0 0.3 26392 3056 ? S 20:30 0:00 /usr/local/apache/bin/httpd -D SSL -k start
nobody 5540 0.0 0.2 26356 2972 ? S 20:30 0:00 /usr/local/apache/bin/httpd -D SSL -k start
nobody 5542 0.0 0.2 26216 2760 ? S 20:30 0:00 /usr/local/apache/bin/httpd -D SSL -k start
....

Ci-dessous un extrait du top avec actuellement environs 100 connectés:

top - 20:40:30 up 5:50, 2 users, load average: 10.52, 9.62, 9.56

Tasks: 246 total, 1 running, 243 sleeping, 0 stopped, 2 zombie

Cpu(s): 65.9% us, 16.0% sy, 0.0% ni, 14.6% id, 2.8% wa, 0.2% hi, 0.5% si

Mem: 1013268k total, 692960k used, 320308k free, 17148k buffers

Swap: 1044208k total, 220k used, 1043988k free, 366776k cached

  PID USER	  PR  NI  VIRT  RES  SHR S %CPU %MEM	TIME+  COMMAND												
3750 mysql 20 0 70804 26m 4532 S 39 2.7 102:26.74 mysqld
29159 meetarab 20 0 0 0 0 Z 2 0.0 0:00.06 php <defunct>
1003 root 15 -5 0 0 0 S 1 0.0 0:03.84 md2_raid1
3994 root 20 0 29008 2048 1488 S 1 0.2 0:15.22 collectd
1 root 20 0 2572 572 488 S 0 0.1 0:00.86 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.36 migration/0
4 root 15 -5 0 0 0 S 0 0.0 0:00.26 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.38 migration/1
6 root 15 -5 0 0 0 S 0 0.0 0:00.24 ksoftirqd/1
7 root 15 -5 0 0 0 S 0 0.0 0:00.86 events/0
8 root 15 -5 0 0 0 S 0 0.0 0:00.86 events/1
9 root 15 -5 0 0 0 S 0 0.0 0:00.00 khelper
87 root 15 -5 0 0 0 S 0 0.0 0:00.54 kblockd/0
88 root 15 -5 0 0 0 S 0 0.0 0:00.52 kblockd/1
90 root 15 -5 0 0 0 S 0 0.0 0:00.00 kacpid
91 root 15 -5 0 0 0 S 0 0.0 0:00.00 kacpi_notify
172 root 15 -5 0 0 0 S 0 0.0 0:00.00 ata/0
173 root 15 -5 0 0 0 S 0 0.0 0:00.00 ata/1
174 root 15 -5 0 0 0 S 0 0.0 0:00.00 ata_aux
175 root 15 -5 0 0 0 S 0 0.0 0:00.00 ksuspend_usbd
180 root 15 -5 0 0 0 S 0 0.0 0:00.00 khubd
183 root 15 -5 0 0 0 S 0 0.0 0:00.00 kseriod

Ce qui se passe, c'est que le load average ne cesse de grimper, et que mon CPU est environ à 80% user. Mais à aucun moment le serveur swap, ce qui semble être une bonne chose. Le Load average diminue après un restart du serveur apache.

D'ailleurs est ce grave si mon serveur swap ??

Puis je diminuer la taille du swap ?

Et enfin, comment faire pour éviter que mon load average ne cesse de grimper sans pour autant restarter Apache.... ??

Merci à tous pour votre aide,

SB

Posté
J'ai un serveur OVH avec les caractéristiques suivantes:

- SUPERPLAN sur distribution OVH Release 2 basée sur Gentoo.

- Processeur Intel Core Duao 2.33 GHz

- 2 Go de RAM (1Go de mem + 1 Go de Swap)

T'as un 1 Go de RAM pas de 2 Go ???

Posté

La mem swap ne compte pas comme de la RAM ??

Peux t-on diminuer la taille de la mem swap au profit de la ram dispo ??

Concernant le load average, quel doit etre la valeur normale et comment faire pour limiter son augmentation sans restarter Apache ...?

Merci d'avance

Posté

Bonsoir,

alors en gros :

- le swap est normalement utilisé en cas de manque de mémoire ; mais c'est tellement lent que généralement ça n'arrange pas vraiment les choses : ça va ralentir le système, donc souvent augmenter le nombre de processus Apache simultanés et ainsi consommer encore plus de mémoire. Bref, quand un serveur swap, c'est souvent mauvais signe (dans ton cas 220K c'est rien).

- le load average, tout le monde n'a pas vraiment l'air d'accord sur ce point. De mon point de vue, idéalement le load average ne devrait pas dépasser le nombre de vrais processeurs (en divisant par deux en cas d'hyperthreading quoi). Pour un core2duo, la limite serait donc de 2. Mais ce n'est qu'un indicateur, certains processus influent fortement sur le load average sans pour autant gêner le système.

De ce qu'on peut voir par contre :

- tu as des processus (dont MySQL) qui bouffe beaucoup de CPU. Il faut peut-être tenter d'optimiser la configuration de MySQL et/ou les traitements SQL.

- tu as deux processus "zombies", dont au moins 1 PHP, user "meetarab". Je ne sais pas si ça te parle, mais visiblement certains traitements ne se déroulent pas comme prévu...

Posté

je viens de réduire le nb de MaxClients à 150 car 150 x 4 Mo (taille moyenne d'un processus apache) = 600 Mo soit la taille que je compte allouer à apache dans ma RAM de 1 Go...

Concernant MySQL, je vais faire quelque modif de paramétrage et voir ce que ça donnera demain dans la journée.

Enfin, concernant les processus zombie : Tu as raison Kiob, il s'agit bien de processus php...

Comment un processus devient il zombie ? Et dans le cas où un process php devient zombie, comment identifier le script php en faute ?

Merci d'avance

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...