Je souhaite utiliser une instance exécutant Apache comme serveur backend pour les équilibreurs de charge Elastic Load Balancing (ELB). Quels sont les paramètres à mettre à jour pour des performances optimales ?

Pour des performances optimales, mettez à jour les attributs ci-dessous dans le fichier de configuration Apache (/etc/httpd/conf/httpd.conf in Amazon Linux) en les remplaçant par les valeurs recommandées :

 

Expiration

Valeur recommandée : 120

La spécification d'un délai d'expiration supérieur à la valeur ELB par défaut (60 secondes) permet de s'assurer que l'équilibreur de charge ferme correctement les connexions inactives. Si le serveur backend arrête une connexion sans notifier l'équilibreur de charge, des erreurs peuvent se produire.

 

KeepAlive

Valeur recommandée : On

L'activation de KeepAlive permet de réduire l'utilisation de la CPU et d'améliorer le temps de réponse, car l'équilibreur de charge ne doit pas établir une nouvelle connexion TCP pour toutes les requêtes HTTP.

 

KeepAliveTimeout

Valeur recommandée : 120

Lorsque l'option KeepAlive est activée, définissez un délai plus long que le délai d'inactivité par défaut de l'ELB (60 secondes).

 

MaxKeepAliveRequests

Valeur recommandée : 100

Cette option permet de définir le nombre de requêtes traitées par une seule connexion TCP sur Apache lorsque KeepAlive est activé. Pour une utilisation optimale des ressources, la valeur MaxKeepAliveRequests doit être supérieure ou égale à 100.

 

AcceptFilter

Valeurs recommandées :  AcceptFilter http none

                                         AcceptFilter https none

Cette option, qui est activée par défaut, indique à Apache d'utiliser l'option TCP_DEFER_ACCEPT pour les connexions. Dans ce cas, le socket TCP a parfois l'état « half-open », où l'équilibreur de charge croit que la connexion est établie alors qu'elle ne l'est pas au niveau de l'instance backend. Le problème se pose généralement avec les équilibreurs de charge à faible volume, où les connexions ont le temps de « vieillir » avant d'être utilisées.

 

Journalisation

Valeurs recommandées :

LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b %D \"%{Referer}i\" \"%{User-Agent}i\"" combined

Avec l'activation de l'option %{X-Forwarded-For}i, Apache affiche l'en-tête ELB x-forwarded-for dans ses journaux pour chaque requête, qui contient l'adresse IP du client d'origine. L'option %D ajoute le délai nécessaire pour terminer chaque requête envoyée aux journaux d'accès.

Après la mise à jour des options, redémarrez Apache.

Apache, expiration, keepalive, journalisation, ELB, équilibreur de charge, serveur backend


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 19/07/2016