Optimiser son site Web rapidement grâce à KeepAlive

L’activation de la fonction « Keep-Alive » peut contribuer à optimiser les performances du site Web et à offrir une meilleure expérience aux utilisateurs. Elle permet au navigateur d’un visiteur de réutiliser une seule connexion TCP pour charger le contenu d’une page.

La fonction « Keep-Alive » est généralement activée par défaut sur votre serveur d’origine. Mais si cet en-tête est désactivé, il existe quelques solutions pour l’activer vous-même.

Ce tutoriel vous montrera les étapes à suivre pour activer la fonction Keep-Alive et les fichiers à préparer au préalable. Il passe également en revue les raisons pour lesquelles vous devriez activer Keep-Alive.

Comment fonctionne Keep-Alive?

Par défaut, les connexions HTTP se ferment à la fin des transactions de données. Cela signifie que les clients créent une nouvelle connexion pour demander chaque fichier d’une page et que les serveurs ferment ces connexions TCP après avoir envoyé les données.

Cependant, si un serveur doit répondre à plusieurs demandes HTTP simultanément et servir un seul fichier pour chaque nouvelle connexion TCP, le temps de chargement de la page du site sera augmenté. Cela peut entraîner une mauvaise expérience pour l’utilisateur.

Pour surmonter ce problème, les propriétaires de sites Web doivent activer l’en-tête Keep-Alive pour limiter le nombre de nouvelles connexions.

En activant l’en-tête de connexion Keep-Alive, les clients peuvent télécharger tous les contenus tels que JavaScript, CSS, images et vidéos à travers une seule connexion TCP au lieu d’envoyer une requête différente pour chaque fichier.

Voici une image qui illustre le fonctionnement de Keep-Alive :

fonctionnement de Keep-Alive

Avantages de l’activation de Keep-Alive:

  • Keep-Alive réduit l’utilisation du processeur et de la mémoire en raison de la moindre quantité de requêtes HTTP générées. Cela bénéficiera à tous les utilisateurs de la plateforme d’hébergement (hébergement gratuit, hébergement mutualisé, hébergement VPS)
  • L’activation de Keep-Alive fournit le pipelining HTTP (livraison de requêtes via la même connexion TCP)
  • Les demandes HTTPS nécessitent davantage de temps et de ressources. Keep-Alive sera grandement utile à votre site Web si vous utilisez HTTPS et SSL.
  • Une latence réduite et une augmentation globale de la vitesse et des performances.
  • Keep-Alive est pris en charge par tous les navigateurs modernes
  • L’activation de Keep-Alive profitera également à votre site Web en termes de référencement  en raison de la meilleure performance du site.

En bref, Keep-Alive est un excellent moyen de réduire l’utilisation de vos ressources tout en augmentant la vitesse de votre site Web en même temps.

Ce dont vous aurez besoin

Avant d’activer Keep-Alive, assurez vous d’avoir les éléments suivants:

  • Accès au fichier .htaccess
  • Accès à httpd.conf ( facultatif )
  • Accès à httpCoreModule ( optionnel )

Étape 1 – Analyse de votre site

Tout d’abord, vous devez analyser vore site Web avec GTMetrix pour déterminer si Keep-Alive est activé ou désactivé. Voici les résultats après l’analyse d’une page de test:

résultats de test keep-alive sur gtmetrix après l'analyse du site

Sur certains serveurs ou fournisseurs d’hébergement, Keep-Alive est activé par défaut. Si votre analyse donne un score de 100%, il n’y a rien à faire.

Étape 2 – Activation de Keep-Alive

Il y a plusieurs façons d’activer Keep-Alive. Tout dépend de votre serveur ou fournisseur d’hébergement. Les voici:

Option 1 – Modification du fichier .htaccess

Pour activer Keep-Alive, le code suivant devrait faire l’affaire. Vous devez l’ajouter au fichier .htaccess. L’activation de Keep-Alive à l’aide de .htaccess annulera les paramètres du serveur, ce qui est une bonne chose.

<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>

Cette méthode devrait fonctionner sur la plupart des fournisseurs d’hébergement sous Linux. Si vous ne savez pas où trouver .htaccess , lisez ce tutoriel

Option 2 – Activation de Keep-Alive dans Apache via le fichier httpd.conf

Si vous avez accès au fichier de configuration Apache, vous pouvez activer l’extension à partir de là. Voici ce que vous devriez modifier:

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 50

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 10
  • KeepAlive On active l’extension.
  • MaxKeepAliveRequests définit le nombre maximal de requêtes autorisées pour une connexion unique. 50 est un bon nombre pour commencer
  • KeepAliveTimeout spécifie la durée pendant laquelle le serveur attend de nouvelles demandes d’un client. Il est recommandé de commencer par une valeur petite. Par exemple 5 ou 10. Et de l’augmenter ultérieurement si nécessaire. Une valeur trop élevée peut entraîner une surcharge du serveur.

Si vous ne trouvez pas le fichier httpd.conf , exécutez la commande suivante en ligne de commande:

find / -name httpd.conf

Option 3 – Activation de Keep-Alive dans NGINX

Keep-Alive est activé par défaut sur NGINX, mais dans certains cas, il peut être désactivé. Vous pouvez l’activer en utilisant HttpCoreModule . Cherchez la valeur keepalive_disable. C’est souvent à cause d’elle que KeepAlive est désactivé. Avant de l’activer, assurez-vous de connaître la raison pour laquelle il est désactivé.

Option 4 – Serveur Windows (IIS)

Si vous utilisez un serveur sous Windows, vous pouvez facilement activer l’extension Keep-Alive à l’aide d’une commande.

La commande suivante le permet:

appcmd set config /section:httpProtocol /allowKeepAlive:true

Et si vous souhaitez le désactiver, utilisez:

appcmd set config /section:httpProtocol /allowKeepAlive:false

Vous pouvez également consulter le tutoriel officiel de Microsoft pour obtenir quelques informations supplémentaires.

Étape 3 – Test des changements

Une fois que Keep-Alive est activé, exécutez une autre analyse avec GTMetrix pour voir si tout fonctionne. Voici les résultats après l’activation de Keep-Alive:

résultat de l'analyse gtmetrix après l'activation de keep-alive

Il est également possible de vérifier si Keep-Alive fonctionne en vérifiant votre en-tête HTTP. Cela peut se faire via le terminal en utilisant la commande suivante:

curl -I http://votresite.com/exemple.php

Voici un exemple:

curl -i http://hostinger.com/index.php

Qui nous donne quelque chose comme:

HTTP/1.1 301 Moved Permanently
Connection: keep-alive
Server: nginx
Date: Fri, 23 Dec 2016 18:58:14 GMT
Content-Type: text/html
Content-Length: 178
Location: https://www.hostinger.com/index.php

La partie Connection: keep-alive signifie que Keep-Alive est fonctionnel.

Conclusion

Pour résumer, l’activation de Keep-Alive est un excellent moyen d’améliorer la vitesse et les performances de votre site. La connexion TCP persistante assurera des temps de chargement plus rapides et une efficacité accrue, ce qui vous permettra d’avoir des visiteurs satisfaits.

Si vous souhaitez optimiser encore plus votre site Web, ces tutoriels vous aideront également:

J’espère vous avoir été utile, nous nous retrouvons prochainement pour d’autres tutoriels ! 😉