2 votes

configuration et optimisation des performances d'un serveur httpd apache dédié

J'ai la boîte dédiée suivante sur laquelle j'installe uniquement le serveur apache httpd, quels paramètres dans httpd.conf dois-je régler pour obtenir des performances maximales ?

cat /proc/cpuinfo montre 8 processeurs (seulement un collé ci-dessous, les autres sont identiques)

processor   : 0
vendor\_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Xeon(R) CPU           E5410  @ 2.33GHz
stepping    : 6
cpu MHz     : 2333.470
cache size  : 6144 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 4
apicid      : 0
fpu     : yes
fpu\_exception   : yes
cpuid level : 10
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 syscall nx lm constant\_tsc pni monitor ds\_cpl vmx est tm2 ssse3 cx16 xtpr sse4\_1 lahf\_lm
bogomips    : 4666.94
clflush size    : 64
cache\_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual

libre -m

             total       used       free     shared    buffers     cached
Mem:         16054      15546        508          0        251       8084
-/+ buffers/cache:       7210       8843
Swap:        16370          0      16370

2voto

uesp Points 3384

Quelques commentaires qui peuvent vous aider :

  • Les paramètres d'Apache qui ont le plus grand impact sur les performances sont la mémoire que prend chaque instance (cela dépend du nombre de mods chargés et de leur configuration) et le nombre de MaxClients/Servers définis. Si Apache est vraiment la seule chose nécessaire sur le serveur, vous voudrez généralement éliminer tous les mods dont vous n'avez pas besoin et augmenter MaxClients/Servers pour utiliser autant de RAM que possible, mais jamais au point de commencer à utiliser le swap. Pour déterminer cela, vous devrez tester la configuration...
  • Je vous suggère fortement de tester l'application en utilisant ab/siege ou un framework similaire. Cela vous permettra de déterminer les paramètres optimaux pour votre application et vous donnera des chiffres précis sur la capacité de votre matériel. Vous pourriez découvrir, par exemple, qu'avec les paramètres par défaut, vous pouvez obtenir 500 req/sec sans sourciller, auquel cas passer du temps à optimiser les choses sera surtout une perte de temps. D'un autre côté, il pourrait vous dire que vous ne pouvez obtenir que 20 req/sec au mieux, ce qui vous obligera à revoir l'architecture globale de votre application.
  • Exécutez à nouveau le test de résistance chaque fois que vous apportez un changement à la configuration, au logiciel ou au matériel du système. Cela vous indiquera l'effet de chaque changement et vous permettra de prendre des décisions plus éclairées pour optimiser les choses. Si vous ne mesurez pas et ne testez pas, vous risquez de passer beaucoup de temps et d'argent à travailler sur des choses qui n'ont aucun effet (ou pire, qui ont un effet négatif).
  • Envisagez d'utiliser un logiciel différent pour les parties dynamique et proxy/équilibrage de la charge, bien que votre serveur soit suffisamment puissant pour que cela ne fasse pas une grande différence.

1voto

Alex Points 7759

Vous devriez envisager d'utiliser HAProxy ou nginx comme proxy/équilibreur de charge, Apache n'est pas vraiment bon pour cela, car il ne peut pas traiter les demandes de manière asynchrone. Apache n'est tout simplement pas conçu pour ce type de tâches. L'utilisation d'un proxy/équilibreur compatible avec les E/S asynchrones peut vous faire économiser beaucoup de ressources. Et vous n'avez pas besoin d'un si gros serveur pour proxy/équilibrer 100 demandes par seconde, j'ai pu proxyer environ 500 demandes par seconde en utilisant HAProxy sur une instance Rackspace Cloud de 512Mb (il utilisait un CPU quad core mais un LA était autour de 0.1 typiquement sur cet hôte, donc je n'avais pas besoin de tant de puissance de traitement).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X