FluxRSS FluxRSS FlickR Twitter Ziki

Maxime Gaillard

DESCARTES : Je pense, donc je blog !

11 juin

Apache: si ça plante c’est pas votre faute !

Posté dans Mes sites | Tags :, , , , |


Quand on met en place Apache sur un serveur, il faut savoir le configurer pour avoir de bonnes performances. Mais il faut prendre en considération les pics. Personnellement je calcule comme ça :

  • Une page vue équivaut à environ 15 requêtes HTTP (css, images de fond, images, javascript et contenu dynamique).

Donc si vous avez 100 000 pages vues par mois cela fait 1 500 000 requêtes HTTP ce qui fait moins de 1 requête par seconde en moyenne ce qui est tout à fait supportable. Mais cette moyenne prend en compte la nuit, moments où pas grand chose se passe. Et donc il peut y avoir des crêtes dues aux horaires de fréquentation du site ou à cause d’un lien réalisé par un site à fort trafic. Et là c’est la découverte de la “cata Apache”, le serveur va tenir 20, 50 voire 150 requêtes simultanées puis “BOOM !”, un reboot salvateur sera généralement nécessaire jusqu’à la prochaine fois. Il est possible de retarder l’échéance avec deux trois artifices mais paradoxalement l’effet sera aggravé !

Pour mieux comprendre pourquoi tant de requêtes font tomber le serveur il faut savoir qu’Apache est écrit sur un principe Unix qui remonte à pas mal d’années. Un client vaut un processus (ou un thread), or un processus coûte très cher en mémoire, et en cas de charge on réalise vite que la vraie nature d’Apache est de remplir jusqu’au plantage votre Swap !

Donc même avec 8 cores et 32Go de Ram (j’exagère mais c’est l’idée !), vous ne pourrez pas avoir enormément de requêtes par secondes. Même si Apache est bien configuré.

Pour ceux qui seraient tenté de dire que le navigateur met en cache les données et ne les redemandent pas au serveur c’est vrai mais pour cela Apache crée quand même un processus avec un code 304 (content not modified). Donc on tourne en rond…

Une solution souvent utilisé est d’utiliser Apache pour le contenu dynamique et Lighttpd pour le statique. Oui mais..pourquoi utiliser deux logiciels alors que Lighttpd permet de faire du PHP ?

Je suis donc actuellement entrain de tester Lighttpd pour le contenu statique et dynamique (PHP5 via FastCGI). Je vous en dirais plus bientôt ! Mais d’après les premières constatations Lighttpd tient bien mieux qu’Apache.

 

Dans le même genre:

Traduire cette page en Chti !




2 Supers Commentaires pour “Apache: si ça plante c’est pas votre faute !”




  1. Tu viens de répondre à ma question, pourquoi au bout de 150 requêtes HTTP mon ancien serveur crashait (ram àfond, swap à fond).

  2. Lighttpd est mieux que Apache sur bien des aspects et plus que jamais au niveau des performances. Ca fait bien longtemps que Apache est à la poubelle. Apache était très bien au départ et son gros point fort était (et est toujours) qu’il est fortement “patchable”. Le véritable problème est qu’au fil du temps c’est devenu une véritable usine à gaz très lourde et le fait de le “patcher” n’arrange rien au problème (bien au contraire). Néanmoins Apache est et restera car il est utile pour des applications très précises dans lesquelles Lighttpd n’a pas le recul nécessaire. Quoiqu’il en soit, lighttpd m’apparait comme voué à un grand avenir. Personnellement je ne vois aucune raison de revenir sous Apache… pour mes besoins en tous cas (et ils ne sont pas faibles).

Ecrire un commentaire :

Attention: Les commentaires peuvent être modérés. Ton commentaire peut mettre un peu de temps avant d'être en ligne.

CAPTCHA image




Articles récents

Nuage de Tags

Articles les plus populaires


Categories