Aller au contenu

Sujets conseillés

Posté

Bonjour

Je suis passé il y a quelques temps sur un nouveau dédié : un Pentium IV 2.6 gz hypertrading avec 1 giga de mémoire. Normalement c'est déjà un bon serveur, mais j'ai du mal à l'optimiser.

Il n'y a qu'un seul site dessus, avec surtout un forum phpbb qui tourne à 20 000 nouveaux messages par mois et génère un peu plus de 700 000 requêtes par jour. En moyenne, j'ai disons 120 personnes qui consultent le forum en même temps. C'est donc un forum assez actif, mais il consomme pas mal de ressources.

Voici un print écran de ma fonction TOP (une centaine de personnes sur le forum):

13:50:45 up 13:26, 1 users, load average: 0.84, 0.74, 0.63 
238 processes: 237 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 15.3% user, 2.3% system, 0.0% nice, 82.5% idle
Mem: 1032364K total, 986916K used, 45448K free, 95344K buffers
Swap: 497972K total, 1340K used, 496632K free, 466768K cached

j'ai toujours un load assez élevé avec pourtant peu de ressources CPU utilisées. C'est significatif de quelque chose ?

J'ai plus ou moins suivi les conseils des différents forum sur les réglages apache. En ce moment j'ai ces réglages :

Timeout 30
KeepAlive On
MaxKeepAliveRequests 10
KeepAliveTimeout 10
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 40
MaxRequestsPerChild 40

Pour ce qui est des réglages sql, j'ai gardé les configs d'origine. Je me demande s'il faut mettre mysql.allow_persistant à on ou off ?, et dans ce cas comment régler mysql.max_links et mysql.max_persistant ?

Posté

Salut Culturec,

On a exactement la même config de serveur, sauf que nous tournons encore sur un 2.4GHz ...

Alors que nous sommes 152 en ligne actuellement, voici un top du serveur:

Il y a 152 utilisateurs connectés :

31 membres et 121 invités

Dan, Silmaril, Jan, Phobos, waznet, Yahoo! , Adsense , Nadia, michmuch51, Commmint, petit-ourson, Google , vespa, cendrillon, one2net, enky, Jeff, Stephane, spoutniknak, discoparty, Nicolas, Azon, mirage, Deedee, Fupap, Alexa , c.klouchi, Valhala, petitlouis, PsyKoTiK, MrBeen, theouf, cam, culturec, yass

   2:11pm  up 23 days, 21:13,  1 user,  load average: 0,11, 0,05, 0,01

90 processes: 89 sleeping, 1 running, 0 zombie, 0 stopped

CPU states:  0,5% user, 10,7% system,  0,0% nice, 88,6% idle

Mem:  1031264K av,  990460K used,   40804K free,       0K shrd,   40628K buff

Swap:  522104K av,    320K used,  521784K free                  590680K cached

Tu verras que la différence se situe au nombre de processus lancés. 238 contre 90 :(

Je pense que ton paramétrage Apache est mauvais, voici pour t'aider celui du Hub:

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

MinSpareServers 10

MaxSpareServers 20

StartServers 25

MaxClients 150

MaxRequestsPerChild 50

De plus, si ton serveur a bien un CPU hyperthreading, tu devrais avoir 2 CPUs dans le top... et je n'en vois qu'un.

Fais un "cat /proc/cpuinfo" pour voir si tu vois bien 2 processeurs.

Dan

Posté (modifié)

Bonjour Dan

J'espérai bien que tu me répondrais car j'ai toujours trouvé ici les réponses à mes questions. J'avais remarqué en effet que le "double processeur" n'apparaissait pas. J'ai lu quelque part qu'il faut modifier quelque chose dans une config apache pour rendre fonctionnel cet hypertrading, mais quoi ?

Je vais déjà tester ta config apache.

processor : 0

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel® Pentium® 4 CPU 2.60GHz

stepping : 9

cpu MHz : 2595.596

cache size : 512 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid

bogomips : 5177.34

processor : 1

vendor_id : GenuineIntel

cpu family : 15

model : 2

model name : Intel® Pentium® 4 CPU 2.60GHz

stepping : 9

cpu MHz : 2595.596

cache size : 512 KB

fdiv_bug : no

hlt_bug : no

f00f_bug : no

coma_bug : no

fpu : yes

fpu_exception : yes

cpuid level : 2

wp : yes

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid

bogomips : 5190.45

Modifié par culturec
Posté

Manifestement tu es bien en Hyperthreading...

Mais vraisemblablement que le noyau Linux n'est pas adapté. Il faut prendre un noyau pour bi-processeurs.

Il n'y a rien à configurer sous Apache, c'est le noyau qui gère le hyperthreading, pas les processus. ;)

As-tu une amélioration avec les mêmes paramètres que le Hub ?

Dan

Posté (modifié)

Bonjour Dan

J'ai appliqué ces paramètres mais comme c'est le week end et donc assez calme, je ne peux pas encore me prononcer, mais même avec peu de visiteurs en ce moment (60), j'ai ces chiffres.

 11:17:12 up 3 days, 20:09,  1 user,  load average: 0.32, 0.41, 0.28
132 processes: 131 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:   8.9% user,   0.6% system,   0.0% nice,  90.5% idle
Mem:   1032364K total,   973144K used,    59220K free,    96984K buffers
Swap:   497972K total,     6496K used,   491476K free,   595696K cached

Ce qui m'inquiete c'est le load average qui a toujours une tendance à grimper alors que la charge cpu reste faible.

Je me demandais si c'était significatif de quelque chose ?

ps : je suis sous keopanel, cela explique peut être ne nombre important de processus ! Pour ce qui est de changer le noyeau, j'en serai bien incapable. Une autre remarque : mon forum est sous phpbb et la fonction recherche est très utilisées, cela explique aussi je crois.

Sans cela je profite pour poser 2 ou 3 petites questions au niveau des réglages sql.

1/ Je n'ai pas trop compris s'il faut activer ou pas "output_buffering" ?

2/ Il est préférable ou pas d'activer mysql.allow_persistant, et dans ce cas quel réglages mettre aux valeurs liées ?

Quelque uns de mes réglages sql

php_admin_value display_errors 0

     php_admin_value display_startup_errors 0

     php_admin_value enable_dl 1

     php_admin_value magic_quotes_gpc 0

     php_admin_value magic_quotes_runtime 0

     php_admin_value max_input_time 120

     php_admin_value memory_limit  40M

     php_admin_value mysql.allow_persistant 0

     php_admin_value mysql.connect_timeout 30

     php_admin_value mysql.max_links -1

     php_admin_value mysql.max_persistant -1

     php_admin_value mysql.trace_mode 0

     php_admin_value output_buffering 0

     php_admin_value post_max_size 2M

     php_admin_value register_argv_argc 0

     php_admin_value register_globals 0

     php_admin_value safe_mode 0

     php_admin_value session.cache_expire 120

     php_admin_value zlib.output_compression 1

     php_admin_value zlib.output_compression_level -1

Modifié par culturec
Posté

Bon, premier jour de charge normale.

J'ai 120 personnes sur le forum. Il est très fluide et rapide mais j'ai toujours ce load average élevé.

 15:44:17 up 5 days, 36 min,  1 user,  [B]load average: 1.65[/B], 1.22, 0.88
216 processes: 212 sleeping, 4 running, 0 zombie, 0 stopped
CPU states:  17.7% user,   1.5% system,   0.0% nice,  80.8% idle
Mem:   1032364K total,  1018244K used,    14120K free,    94940K buffers
Swap:   497972K total,    10172K used,   487800K free,   596136K cached

Veuillez vous connecter pour commenter

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



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