Niveau :
Résumé : mod_setenvif ; mod_header
Savez-vous que la lecture et l'écriture de variables d'environnement sont particulièrement lentes ?
Je suis tombé récemment sur un problème de performances sur apache. Après analyse, il s'est avéré que le coupable est mod_setenvif. Nous utilisions ce dernier pour modifier des header avec cette méthode :
SetEnvIf Cookie (.*) value SetEnvIf value (.*) value debut$1fin RequestHeader Cookie value
Or à partir d'apache 2.2.4, il est possible d'utiliser une expression régulière directement avec RequestHeader :
RequestHeader edit Cookie (.*) debut$1fin
Le temps de réponse par requête a été divisé par 5. Bien sûr on peut accuser les expressions régulières, mais vous constaterez que ce sont les 2 mêmes.
De plus, un test a montre que setenv était environ dix fois plus lent qu'un simple malloc. Même si on ne peut pas vraiment comparer, l'explication me convient.
Comments