web-dev-qa-db-fra.com

Comment diminuer le temps d'attente de la redirection HTTP?

J'utilise un plugin wordpress pour rediriger mon site Web vers HTTP, cependant j'ai remarqué un temps de redirection de 500 ms, ce qui prend le temps de passer au premier octet à 800 ms.

Comment puis-je réduire le temps de redirection?

1
Computing Corn

Comment puis-je réduire le temps de redirection? J'utilise un plugin wordpress pour rediriger mon site Web vers HTTP ...

Wordpress est généralement piloté par le langage de script PHP. PHP est un logiciel tiers appelé par votre logiciel de serveur Web lorsque des fichiers php doivent être traités. C'est ce qui se passe en arrière-plan (sur le serveur) lorsque quelqu'un demande une page Wordpress.

Désormais, en fonction de l'état du code PHP, le temps de traitement peut prendre plusieurs millisecondes. Si le code est optimisé et sans bogues, le temps de traitement peut prendre éventuellement quelques microsecondes.

Je suis d'accord avec un commentaire sur la gestion des redirections via .htaccess (à condition que votre logiciel de serveur Web soit Apache). En effet, le fichier de configuration est traité directement par le serveur Web, sans aucun outil tiers à charger (tel que PHP). Cela accélère le traitement.

Une option, si vous avez les ressources et/ou l'argent, consiste à exécuter le site Web sur un serveur que vous seul pouvez gérer (tel qu'un serveur dédié) et à fermer toutes les applications et/ou autres services sur ce serveur pour lesquels vous ne travaillez pas. pas besoin de courir.

J'ai remarqué un temps de réacheminement de 500 ms qui prend le temps du premier octet à 800 ms.

Cela suggère que les éléments suivants sont certainement vrais:

  1. Le serveur que vous utilisez pour héberger votre site Web a de graves problèmes de gestion de la mémoire (au point qu'il dépend du disque lent pour accéder à la mémoire) et/ou des problèmes de disque (au point qu'il y ait des secteurs endommagés). Cela peut rendre le temps nécessaire au premier octet extrêmement élevé.

  2. Tout périphérique connecté entre vous et le serveur (routeurs, commutateurs, FAI, etc.) peut rencontrer des difficultés techniques ou vous pouvez utiliser un grand nombre de routeurs pour atteindre la destination. La preuve: allez sur webpagetest.org et choisissez l’emplacement le plus éloigné du serveur et faites-le accéder à votre page. vous remarquerez que le temps de chargement initial est élevé, ce qui est acceptable dans ce cas.

  3. Les processus de votre serveur sont très intensifs et il se peut que ce plugin (script php) soit mal optimisé. Si votre serveur vous autorise à accéder à Shell, utilisez-le et tracez le script PHP pour voir pourquoi il prend beaucoup de temps pour traiter un travail simple. Si votre serveur est Linux, alors la commande strace aidera ici.

  4. Des millions d'utilisateurs ont accédé à votre page à la fois lorsque vous avez exécuté vos tests. Le serveur est capable de traiter autant de demandes à la fois, les autres sont probablement mis en file d'attente jusqu'à la fin du premier lot de demandes. Les utilisateurs de cette file d'attente peuvent rencontrer un temps d'attente plus long. Si trop de demandes sont faites dans un délai aussi court, certaines connexions peuvent être abandonnées.

ne réponse

Après avoir tout dit, ce que je peux suggérer sans que votre budget soit brisé et ce qui ne l'est pas est de supprimez le plugin wordpress pour HTTPs et utilisez les fichiers de configuration du serveur (exemple .htaccess pour Apache) pour définir les redirections à la place. Vous voudrez peut-être examiner le module mod_rewrite si vous utilisez Apache, car c'est un module utile qui vous permet de créer des URL conviviales et de rediriger les demandes de page correspondant à un modèle spécifique vers une autre URL. Nginx et d'autres serveurs Web peuvent avoir des modules similaires, mais je ne suis pas certain de leur nom, car j'utilise exclusivement Apache.

2
Mike

Outre l'ajout de la redirection dans la configuration de votre serveur (.htaccess), vous devez également ajouter un en-tête Strict Transport Security pour indiquer aux navigateurs de demander directement l'URL HTTPS sans passer par HTTP.

Voici comment vous le placeriez dans votre htaccess:

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

Veuillez en savoir plus sur STS ici: https://www.owasp.org/index.php/HTTP_Strict_Transport_Security_Cheat_Sheet

1
tobiv