RPSligthyStats

Dernière modification : 2008/02/19 02:41

Lighttpd souffre t il de leaks mémoire ?

Environnement

  • debian etch 4.0
  • lighttpd de base (1.4.13-4etch4)
  • php5-cgi en fastCGI (conf livrée par debian)
  • la page d'accueil du serveur est un simple phpinfo()
Le but n'étant que de tester la consommation mémoire de lighttpd, tous ces tests ont été réalisés dans une machine virtuelle. Ne cherchez donc aucune notion de performance dans ces valeurs !

Dans ces conditions, ab s'arrête sans faire toutes les requêtes au-dela de 300 accès simultanés. Je n'ai pas encore cherché plus loin pourquoi.

Méthode de test


Cette méthode ne se veut pas juste et exhaustive ! J'ai juste fait ces deux scripts rapidement pour essayer de voir s'il y a effectivement un risque de problème avec lighttpd.

Sur plusieurs exécutions, j'obtiens des résultats similaires même si les valeurs varient légèrement.

Deux scripts lancés en //

Charger le serveur web :
rm ab.out;
invoke-rc.d lighttpd restart;
touch bench;
for i in 50 100 200 250 300;
do 
   date | tee -a ab.out;
   ab -n 5000 -c $i http://localhost/ |tee -a ab.out;
   date | tee -a ab.out;
   sleep 60;
done;
rm bench


Collecter l'utilisation mémoire de lighttpd :
rm lighttpd.out;
while [ -f bench ];
do
   date|tee -a lighttpd.out;
   ps -C lighttpd -o vsize | tail -1 | tee -a lighttpd.out;
   sleep 5;
done


Résultats

Un graphique vaut tous les discours.
data/rps/lighttpd_mem.png

Pour aller plus loin


Quelques points à voir :
  • PHP_FCGI_MAX_REQUESTS est déjà positionné à 10000
  • Etudier la doc et les bugs voir si ce ne serait pas corrigé dans une nouvelle version
  • Faire des tests longs en faisant varier le nombre de requêtes. Pour le moment cela semble beaucoup moins influer sur la mémoire.