it-swarm.com.de

Wie kann die Wartezeit für die HTTP-Umleitung verringert werden?

Ich verwende ein wordpress -Plugin, um meine Website auf HTTPs umzuleiten. Ich habe jedoch eine Umleitungszeit von 500 ms festgestellt, die die Zeit für das erste Byte bis 800 ms benötigt.

Wie kann ich die Umleitungszeit reduzieren?

1
Computing Corn

Wie kann ich die Umleitungszeit reduzieren? Ich verwende ein wordpress Plugin, um meine Website auf HTTPs umzuleiten ...

Wordpress wird im Allgemeinen von der Skriptsprache PHP gesteuert. PHP ist eine Drittanbieter-Software, die von Ihrer Webserver-Software aufgerufen wird, wenn PHP-Dateien verarbeitet werden müssen. Dies geschieht im Hintergrund (auf dem Server), wenn jemand eine WordPress-basierte Seite anfordert.

Je nachdem, wie schlecht der PHP -Code ist, kann die Verarbeitungszeit viele Millisekunden betragen. Wenn der Code optimiert und fehlerfrei ist, kann die Verarbeitungszeit möglicherweise Mikrosekunden betragen.

Ich bin mit einem Kommentar zum Verwalten von Weiterleitungen über .htaccess einverstanden (vorausgesetzt, Ihre Webserver-Software ist Apache). Dies liegt daran, dass die Konfigurationsdatei vom Webserver direkt verarbeitet wird, ohne dass ein Drittanbieter-Tool geladen werden muss (z. B. PHP). Dies wiederum beschleunigt die Verarbeitung.

Wenn Sie die Ressourcen und/oder das Geld haben, können Sie die Website auf einem Server ausführen, den nur Sie verwalten können (z. B. einem dedizierten Server), und alle Anwendungen und/oder Dienste auf diesem Server, die Sie nicht verwenden, deaktivieren. Ich muss nicht rennen.

Ich habe eine Umleitungszeit von 500 ms festgestellt, die die Zeit zum ersten Byte bis 800 ms benötigt.

Dies legt für mich nahe, dass eines der Folgenden definitiv zutrifft:

  1. Der Server, auf dem Sie Ihre Website hosten, weist schwerwiegende Speicherverwaltungsprobleme (bis zu dem Punkt, an dem der langsame Datenträger für den Speicherzugriff erforderlich ist) und/oder Festplattenprobleme (bis zu dem Punkt, an dem beschädigte Sektoren vorliegen) auf. Dies kann die Zeit bis zum ersten Byte extrem hoch machen.

  2. Bei jedem Gerät, das zwischen Ihnen und dem Server verbunden ist (einschließlich Routern, Switches, ISP usw.), können technische Schwierigkeiten auftreten, oder Sie durchlaufen möglicherweise eine große Anzahl von Routern, um das Ziel zu erreichen. Beweis: Gehen Sie auf webpagetest.org und wählen Sie einen Ort, der am weitesten vom Server entfernt ist, und lassen Sie ihn auf Ihre Seite zugreifen. Sie werden feststellen, dass die anfängliche Ladezeit hoch ist, was in diesem Fall in Ordnung ist.

  3. Ihre Serverprozesse sind ausgesprochen intensiv und es kann sein, dass das Plugin (auch bekannt als PHP-Skript) schlecht optimiert ist. Wenn Ihr Server Ihnen den Shell-Zugriff ermöglicht, verwenden Sie ihn und verfolgen Sie das Skript PHP, um festzustellen, warum die einfache Arbeit viel Zeit in Anspruch nimmt. Wenn Ihr Server Linux ist, hilft hier der Befehl strace.

  4. Sie hatten Millionen von Nutzern gleichzeitig Zugriff auf Ihre Seite, als Sie Ihre Tests durchgeführt haben. Der Server kann so viele Anforderungen gleichzeitig verarbeiten, und der Rest wird wahrscheinlich in eine Warteschlange eingereiht, bis der erste Anforderungsstapel abgeschlossen ist. Benutzer in dieser Warteschlange können eine längere Wartezeit haben. Wenn in so kurzer Zeit zu viele Anfragen gestellt werden, werden möglicherweise einige Verbindungen getrennt.

Eine Antwort

Nachdem ich alles gesagt habe, was ich vorschlagen kann, ohne dass Sie das Budget sprengen und was nicht, ist Scrap das wordpress Plugin für HTTPs und benutze Serverkonfigurationsdateien (Beispiel .htaccess für Apache), um die Weiterleitungen zu definieren stattdessen. Wenn Sie Apache verwenden, sollten Sie sich das Modul mod_rewrite ansehen, da es ein hilfreiches Modul ist, mit dem Sie benutzerfreundliche URLs erstellen und Seitenanforderungen, die einem bestimmten Muster entsprechen, an eine andere URL umleiten können. Nginx und andere Webserver verfügen möglicherweise über ähnliche Module, deren Namen ich mir jedoch nicht sicher bin, da ich ausschließlich Apache verwende.

2
Mike

Zusätzlich zum Hinzufügen der Umleitung in Ihrer Serverkonfiguration (.htaccess) sollten Sie auch einen Strict Transport Security-Header hinzufügen, um die Browser anzuweisen, die HTTPS-URL direkt anzufordern, ohne zuvor über HTTP zu gehen.

Hier ist, wie Sie es in Ihrem htaccess einstellen würden:

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

Weitere Informationen zu STS finden Sie hier: https://www.owasp.org/index.php/HTTP_Strict_Transport_Security_Cheat_Sheet

1
tobiv