Meine Website www.example.com (SSL-fähig) wird auf Amazon EC2 Shared Hosting gehostet. Bei einer WLAN- / Breitbandverbindung wird es schneller geladen (Ladezeit <2 Sekunden). Das Problem liegt im 3G-Netzwerk im Mobilfunk ** (H-Modus und nicht im H + -Modus) **. Starten Sie eine Verbindungsphase und der SSL-Handshake-Vorgang nimmt viel Zeit in Anspruch - 12 Sekunden. Überwachte die Timing-Parameter über die Registerkarte Chrome Network. Unten finden Sie den gemessenen Ladezeitpunkt für die Webseite.
Art der auf der Seite verarbeiteten Daten: Die getestete Webseite empfängt 5 mit Schlüsselwerten gepaarte JSON-Daten über AJAX und zeigt sie auf der Webseite an. Es ist eine sehr leichte Seite mit nur 5-6 Textinhalten.
Ich habe gesehen, dass viele Websites in einem 3G-Mobilfunknetz (H-Modus) schneller geladen werden. Meine Website ist während der ersten Phase des Verbindungsaufbaus in einem 3G-Netzwerk zu langsam. Kann mir bitte jemand helfen, wie die Verzögerung in der ersten Verbindungsphase behoben werden kann? Wird die Umstellung auf dediziertes Hosting das aktuelle Problem lösen?
Der Webserver ist nicht ausgelastet und es ist immer viel CPU UND Speicher verfügbar.
Serverkonfiguration: Amazon EC2-Instanz - Shared Hosting (32 CPU und 60 GB RAM). Webserver - Apache. SSL - Symantec.
quelle
Antworten:
Erstverbindung
Sie werden feststellen, dass die anfängliche Verbindung das Aushandeln des SSL umfasst. Da der Handshake also hoch ist, ist dies ein guter Indikator dafür, dass bei der Einrichtung des SSL ein schwerwiegender Fehler vorliegt.
SSL Handshake und TTFB
Sie haben zwei Hauptprobleme: die Zeit, die Sie für einen SSL-Handshake aufgewendet haben, und die Server, die auf TTFB warten (Zeit bis zum ersten Byte).
Es sollte auch beachtet werden, dass beim Testen mit 3G / 4G-Geräten längere erste Bytes auftreten können, da die Stärke der Telefonsignale unterschiedlich ist. Dies kann zu zeitweiligen Verbindungsproblemen und unterschiedlichen Latenzzeiten führen.
Schritt 1: Untersuchung des SSL-Problems
Es ist ziemlich offensichtlich, dass Sie ein ernstes SSL-Problem haben und höchstwahrscheinlich auf eine fehlerhafte Installation von OpenSSL oder ähnlichem zurückzuführen sind. Testen Sie zunächst Ihr SSL-Zertifikat mit SSL Labs und korrigieren Sie dann alle vorgeschlagenen Probleme oder Warnungen.
Wenn das SSL immer noch langsam arbeitet, liegt höchstwahrscheinlich ein überlasteter Server oder ein Serverfehler vor. Wenn es das spätere ist, müssen Sie versuchen, einzugrenzen, wo der Fehler liegt. Verwenden Sie den Serverfehler- Stack, falls Sie in dieser Angelegenheit weitere Unterstützung benötigen. Ein Benutzer berichtete, dass durch das Erstellen neuer Schlüssel ein langsames SSL-Problem behoben wurde, auf das er möglicherweise gestoßen ist oder das möglicherweise nicht relevant ist.
Load Balancer können helfen, wenn es sich um ein Problem mit Serverressourcen handelt.
Schritt 2: Untersuchung des TTFB
Nachdem Sie das Problem mit SSL behoben haben und immer noch einen erhöhten TTFB-Wert haben, sollten Sie Ihren Server testen, indem Sie sicherstellen, dass er über genügend Ressourcen verfügt.
Die erste Bytezeit wird beeinflusst von, aber nicht beschränkt auf:
Manchmal ist das Erhöhen der CPU und des Arbeitsspeichers nicht immer die beste Option. Manchmal ist es besser, einen Load Balancer einzuführen, da dies nicht nur bedeutet, dass Sie problemlos mehrere Server nebeneinander ausführen können, sondern auch Caching- und SSL-Anforderungen auslagert. Einige andere Vorteile sind:
Tipps zum Absenken Ihres TTFB:
quelle
Wenn Sie den Titel Ihrer Frage lesen, können Sie zwei Dinge tun, um die anfängliche Verbindung und den SSL / TLS-Handshake zu beschleunigen. Diese funktionieren für jede Verbindung, nicht nur für 3G. Sie sollten sie daher trotzdem als Best Practice verwenden.
Verwenden Sie zunächst HTTP / 2, um die Site bereitzustellen. Dies erfordert Apache 2.4.17 oder höher .
Zweitens konfigurieren Sie Apache für die Verwendung von OCSP-Heftung. Dies erfordert Apache 2.3.3 oder höher plus OpenSSL 0.9.8h oder höher, mit einer guten Anleitung, um es hier einzurichten . OCSP-Heften beschleunigt die Dinge nicht wesentlich, erledigt jedoch einen Teil der Arbeit für den Client und erspart ihm die Mühe, eine OCSP-Suche durchzuführen.
Wenn Sie den Text Ihrer Frage lesen, haben Sie wahrscheinlich ein viel größeres Problem mit Ihrer Hosting-Umgebung. Diese Ladezeiten sind nicht akzeptabel. Sie erwähnen, dass es sich um "Shared Hosting" handelt. Wenden Sie sich an denjenigen, der dieses Shared Hosting verwaltet, und fragen Sie, warum der Server so ungewöhnlich langsam ist. Sie sind wahrscheinlich besser dran, einen anderen gemeinsam genutzten Host auszuprobieren oder selbst einen VPS auszuführen (dies ist mehr Arbeit, bietet aber eine bessere Geschwindigkeit und Flexibilität).
Da Sie bereits mit AWS arbeiten, können Sie die kostenlose Version ausprobieren , um die Dinge zu testen und Ihren eigenen Server zum Laufen zu bringen und zu optimieren. Verwenden Sie es mit einer Subdomain und einigen statischen HTML-Seiten zum Testen und verschieben Sie dann Ihre primäre Site (bei Bedarf über die Grenzen der freien Ebene hinaus skalieren).
quelle