Aperçu
La configuration par défaut du serveur Web Apache fournit un ensemble d'options sûres pour permettre à Apache de fonctionner correctement dans un environnement peu chargé. Un paramètre clé est "Keepalive" qui est normalement désactivé. Pour un site riche en contenu où plusieurs connexions sont établies à partir d'un client pour récupérer beaucoup de contenu, le serveur Web Apache effectuera un travail supplémentaire pour traiter les demandes d'ouverture/fermeture supplémentaires pour chaque demande du même client. En utilisant KeepAlive, une réduction de 50 % du temps de connexion peut être obtenue lorsque les requêtes HTTP/1.1 sont effectuées par le navigateur client. Pour aider à l'augmentation de la charge de travail qui résultera de l'activation des keep alives, le nombre de processus de travail peut être augmenté dans le fichier de configuration pour permettre une réponse plus rapide lorsque davantage de demandes sont reçues.
Implémentation
Le fichier de configuration Apache s'appelle httpd.conf et réside généralement dans /etc/httpd/conf/ sur la plupart des distributions Linux.
Avant toute modification, faites une copie de sauvegarde de votre fichier de configuration. Par exemple, j'ai utilisé une notation date-heure pour conserver une copie du fichier.
cp httpd.conf 2014-04-28-1149-httpd.conf
Ouvrez le fichier à l'aide de "vi" et modifiez les valeurs suivantes :
KeepAlive “On” KeepAliveTimeout 30 MaxKeepAliveRequests 1000 StartServers 10 MinSpareServers 10 MaxSpareServers 50 ServerLimit 100 Maxclients 100 MaxRequestsPerChild 4000
Résultat
Lors des tests initiaux, il y a eu une augmentation marginale des temps de réponse, mais cela n'était pas cohérent car toutes les connexions provenaient du même serveur de test et les gains du paramètre KeepAlive sont faibles mais significatifs lorsqu'un grand nombre de connexions sont établies à partir de différents clients. Le réglage par site est recommandé car la consommation de mémoire sera un problème plus important que la synchronisation des performances.
Pour des détails spécifiques sur chaque directive pour Apache 2.4 (Passez à 2.2 pour les systèmes Apache 2.2), voir :http://httpd.apache.org/docs/2.4/mod/core.html