Ich habe eine Website, die sehr langsam zu laden scheint. Wenn ich einen Geschwindigkeitstest darauf durchführe, sehe ich, dass es eine Lücke von 6 Sekunden gibt, bevor der HTML-Code geladen wird. Bilder und JS-Skripte werden danach sehr schnell geladen.
Sie können im Bild unter den gelben Balken für die Wartezeit sehen:
Dies scheint unabhängig vom HTML-Inhalt auf der Seite konsistent zu sein.
Diese Site verwendet ein CMS (ModX Revo), sodass HTML tatsächlich in einer SQL-Datenbank gespeichert und von PHP bereitgestellt wird. Dieses Problem ist mir jedoch noch nie aufgetreten.
Würde jemand wissen, was dies verursacht und wie ich es beschleunigen könnte?
performance
MeltingDog
quelle
quelle
Antworten:
Der Fachbegriff für das Warten wird als Zeit bis zum ersten Byte bezeichnet und bestimmt die Reaktionsfähigkeit eines Webservers oder anderer Netzwerkressourcen.
Einige häufige Gründe, warum Sie möglicherweise eine hohe Zeit bis zum ersten Byte sehen:
Im Allgemeinen tritt dieses Problem häufig beim Shared Hosting auf, da viele Websites und Besucher sie besuchen, was natürlich die Netzwerkbytezeit verlängert. Eine andere mögliche Ursache ist ein Fehler im Netzwerk, z. B. ein Hop oder weil sich Ihr Server nicht am Standort Ihrer Zielgruppe befindet. Beispielsweise hat ein "GUTER" britischer Server eine geringere Bytezeit als ein US-amerikanischer Server, der auf Benutzer im Internet abzielt Großbritannien, aufgrund der Entfernung, über die die Daten gesendet und empfangen werden müssen (normalerweise eine Zunahme von ca. 100-200 ms).
Vielleicht eine Zeit, um einen neuen Gastgeber zu bekommen
In der Vergangenheit musste ich aufgrund der Verzögerung der Zeit bis zum ersten Byte von Server zu Server wechseln. Möglicherweise müssen Sie einen neuen Webhost auswählen oder Ihr aktuelles Paket aktualisieren.
Zuverlässige Tests
Das Testen der Geschwindigkeit Ihrer Website von Ihrem Heim-Breitband aus ist sehr voreingenommen, da es möglicherweise ein Problem ist, wenn Ihr Breitband nicht auf die Website reagiert. Sie sollten Ihre Website mit mehreren Verbindungen von mehreren Servern testen ... Ich empfehle, Webseiten zu testen und mehrere Tests gleichzeitig von verschiedenen Standorten und vielen in der Zielgruppe aus durchzuführen. Dies gibt Ihnen einen besseren Überblick darüber, was los ist. Wenn es das erste Byte ist, empfehle ich Ihnen, sich vor allem an Ihren Webhost zu wenden.
Ping und Trace leiten den Server weiter
Wenn Sie versuchen, einen Ping auf dem Server auszuführen, werden die Ergebnisse möglicherweise angezeigt oder nicht. Ping verwendet ICMP anstelle von UDP oder TCP, was bedeutet, dass der Server nicht an Port 80 abgefragt wird, auf dem Ihr httpd ausgeführt wird. Sie können die Trace-Route verwenden, um alle Server auf der Route zu identifizieren, die dazu führen könnten, dass sich das erste Byte erneut erhöht. Der httpd-Server an Port 80 wird nicht abgefragt. Wenn die Traceroute unter Windows ausgeführt wird, werden ICMP und Mac / Linux verwendet Maschinen verwenden UDP. Es lohnt sich zu testen, weil es so schnell und einfach geht, aber wenn die Ergebnisse wieder gut sind, bedeutet das nicht unbedingt, dass es irgendwo kein Problem gibt.
quelle
The delay is occurring after the first header response
dann ist das nicht das erste Byte. Das erste Byte ist die erste Antwort.1) Sie haben Adobe TypeKit, das nicht asynchron mit dem aktuellen Code geladen wird. Versuchen Sie, es durch den erweiterten asynchronen Code zu ersetzen: http://help.typekit.com/customer/portal/articles/649336-embed-code
2) Mit neuem TypeKit testen. Wie ist die Ladezeit jetzt? Besser? Fahren Sie mit Schritt 3 fort.
3) Ersetzen Sie Google Analytics durch ein aktualisiertes JavaScript mit der neuesten asynchronen Syntax: https://developers.google.com/analytics/devguides/collection/gajs/
4) Test. Ist das Laden der Seite noch besser?
5) Erwägen Sie abschließend die Optimierung von Bildern wie pattern.jpg. Ich habe es in ein PNG konvertiert und konnte die Dateigröße von 199 KB auf 56 KB reduzieren. Dies verkürzt die Zeit zum Empfangen der Datei: https://www.dropbox.com/s/i06jx509bmprhhh/pattern.png?dl=0
Ich hoffe das hilft.
quelle
PHP vs. Nicht-PHP-Elemente
Wenn Sie die Ladezeiten Ihrer Nicht-PHP-Assets mit Ihren PHP-basierten Ladezeiten vergleichen, werden Sie feststellen, dass der Server schnell reagiert, wenn PHP nicht beteiligt ist.
Dies weist normalerweise auf Probleme innerhalb Ihres PHP-Skripts hin.
Das Problem kann innerhalb der PHP-Schicht oder der Datenbank liegen. Mithilfe fortschrittlicher Debugging-Tools wie XDebug oder NewRelic können Sie den Engpass schnell erkennen.
Probleme mit der Zeit bis zum ersten Byte können durch Hardwareeinschränkungen, schlechte Konfiguration oder ineffizienten Code verursacht werden. Beim Shared Hosting sind Hardwareeinschränkungen und eine schlechte Konfiguration am wahrscheinlichsten.
In jedem Fall bedeutet das Lösen des Problems normalerweise eines oder alle der folgenden Elemente:
Schnellere Hardware ist eine offensichtliche, aber oft kostspielige Lösung, wenn Sie bereits über dedizierte Ressourcen verfügen.
Eine bessere Programmierung ist möglicherweise nicht möglich, wenn das Problem auf Code zurückzuführen ist, den Sie nicht warten, oder wenn Entwicklerressourcen fehlen.
Das Caching hilft, indem es die Anzahl der Anforderungen reduziert, die die zugrunde liegenden Ressourcen mit schlechter Leistung treffen müssen.
Testen
Stellen Sie bei der Verwendung von Testtools sicher, dass Sie mehrere Läufe ausführen. Netzwerk- und temporäre Serverspitzen können Sie leicht auf den falschen Weg führen. Sie möchten daher versuchen, diese zu mitteln.
Hosting
Wenn Sie sich in einem gemeinsam genutzten Hosting-Konto befinden, sollten Sie auf Cloud- oder VPS-Dienste umsteigen, um einen besseren Einblick in Leistungsprobleme zu erhalten. Wenn Sie keine Caching-Technik (CDN- oder Cloudflare-Dienst) verwenden, kann die Korrektur von Leistungsproblemen auf gemeinsam genutzten Massenhosting-Systemen sehr schwierig sein, da Sie keine ausreichende Kontrolle über den Server haben.
quelle
Versuchen Sie, Cookies von Drittanbietern auf nur besucht zu setzen.
quelle