[Linux-bruxelles] Un serveur web, c'est comme une imprimerie!

Jérôme Warnier jwarnier at beeznest.net
Mer 10 Juin 11:14:16 CEST 2009


Jean-Charles de Longueville wrote:
> Bonjour,
> 
> par exemple, avec un amd64 dual core et 2 GB de RAM, je sert environ  
> un million de pages par mois (environ 2GB/jour) sans charger la  
> machine (pas de swap ni de proc). Je pense que cela tiendrait sans  
> soucis dans un PIII avec 1GB de RAM...
> 
> J'ai entendu vaguement parler, mais je ne les connais pas (encore)  
> d'outils de "stress test" de site web. Mon idée initiale est de me  
> faire un peu les dents sur la gestion d'un serveur très fortement  
> sollicite d'une part mais surtout d'apprendre a sentir la montée en  
> charge d'un LAMP et sa réaction en fonction des ressources a sa  
> disposition.
> 
> La théorie c'est bien. L'expérience directe aussi :-D
> 
> Deja établir des scénarios de tests est IMHO une contribution utile.  
> Peut-être en enregistrant une semaine de requêtes réelles et en les  
> rejouant ensuite en accéléré sur un clone de la machine de prod...  
> Mais comment faire cela concrètement?
> 
> Plutôt que de chercher des limites théoriques en optimisant pour un  
> benchmark, je voudrais partir d'un contenu type (comme celui décrit ci- 
> dessus) et décrire le plus objectivement possible le comportement du  
> serveur. Cela permettrait de sentir lorsqu'il faut ajouter des  
> ressources ou migrer vers un cluster par exemple.
> 
> Cordialement,

Apache Benchmark (ab: http://httpd.apache.org/docs/2.0/programs/ab.html) 
est un très bon début. Il te permet de simuler plein de choses.
La partie délicate étant de simuler des utilisateurs connectés dans des 
zones d'accès restreint, s'il y en a.

Par ailleurs, pour PHP, utiliser un "accélérateur" genre eAccelerator, 
XCache ou autre aide *vraiment*. Surtout, comme chaque seconde 
interprétation d'une page est "gratuite", les scripts s'exécutent en 
moins longtemps et prennent donc beaucoup moins de ressources (puisque 
leur temps d'exécution est réduit).
Dans Lenny, php5-xcache est packagé (enfin un qui le soit!), ce qui fait 
qu'il est très facile à installer et qu'il est maintenu par l'équipe de 
sécurité de Debian.
Cependant, il y aura un tel outil directement dans PHP6, mais pas XCache.

Tout faire tourner dans un ramdisk n'a pas _beaucoup_ d'intérêt sous 
Linux, parce que le cache disque est vraiment très efficace. La même RAM 
sera probablement utilisée plus efficacement par le kernel que par un 
ramdisk avec réplication régulière vers le disque (ou avec perte totale 
de données en cas de coupure de courant).

Attention aussi que toutes les technologies de CPU ne sont pas forcément 
efficaces pour toutes les charges (ex.: HyperThreading)...




Plus d'informations sur la liste de diffusion Linux-bruxelles