Ich habe eine Abfrage, bei der eine Liste der Benutzer aus einer Tabelle in sortierter Reihenfolge abgerufen wird, basierend auf dem Zeitpunkt, zu dem sie erstellt wurde. Ich habe das folgende Zeitdiagramm von den Chrome-Entwicklertools erhalten.
Sie können sehen, dass TTFB (Zeit bis zum ersten Byte) zu hoch ist.
Ich bin nicht sicher, ob es an der SQL-Sortierung liegt. Wenn dies der Grund ist, wie kann ich diese Zeit verkürzen?
Oder liegt es am TTFB? Ich habe Blogs gesehen, in denen steht, dass TTFB weniger sein sollte (<1 Sek.). Aber für mich zeigt es> 1 Sek. Liegt es an meiner Anfrage oder an etwas anderem?
Ich bin mir nicht sicher, wie ich diese Zeit verkürzen kann.
Ich benutze eckig. Sollte ich eckig verwenden, um die Tabelle anstelle von SQL zu sortieren? (Viele Beiträge sagen, dass dies nicht das Problem sein sollte.)
Ich möchte wissen, wie ich TTFB reduzieren kann. Jungs! Ich bin eigentlich neu in diesem Bereich. Es ist die Aufgabe, die mir meine Teammitglieder gegeben haben. Ich bin nicht sicher, wie ich die TTFB-Zeit reduzieren kann. Ich habe viele Beiträge gesehen, konnte sie aber nicht richtig verstehen. Was ist TTFB? Ist es die Zeit, die der Server benötigt?
quelle
Antworten:
Der TTFB ist nicht die Zeit bis zum ersten Byte des Antwortkörpers (dh die nützlichen Daten wie json, xml usw.), sondern die Zeit bis zum ersten Byte der vom Server empfangenen Antwort. Dieses Byte ist der Anfang der Antwortheader.
Wenn der Server beispielsweise die Header sendet, bevor er die harte Arbeit erledigt (wie z. B. schweres SQL), erhalten Sie einen sehr niedrigen TTFB, der jedoch nicht "wahr" ist.
In Ihrem Fall repräsentiert TTFB die Zeit, die Sie mit der Verarbeitung von Daten auf dem Server verbringen.
Um den TTFB zu reduzieren, müssen Sie die serverseitige Arbeit schneller erledigen.
quelle
Ich habe das gleiche Problem getroffen. Mein Projekt läuft auf dem lokalen Server. Ich habe meinen PHP-Code überprüft.
Ich verwende
localhost
, um eine Verbindung zu meiner lokalen Datenbank herzustellen. Das ist vielleicht die Ursache des Problems, das Sie beschreiben. Sie können IhreHOSTS
Datei ändern . Fügen Sie die Zeile hinzu127.0.0.1 localhost
.quelle
localhost
(TTFB: 1s) zu127.0.0.1
(TTFB: 12ms)TTFB passiert hinter den Kulissen. Ihr Browser weiß nichts darüber, was hinter den Kulissen passiert.
Sie müssen untersuchen, welche Abfragen ausgeführt werden und wie die Website eine Verbindung zum Server herstellt.
Dieser Artikel könnte helfen, TTFB zu verstehen, aber ansonsten müssen Sie tiefer in Ihre Anwendung eintauchen.
quelle
Ich würde vorschlagen, dass Sie diesen Artikel lesen und sich mehr darauf konzentrieren, wie Sie die Gesamtantwort auf die Benutzeranfrage optimieren können (entweder eine Seite, ein Suchergebnis usw.).
Ein gutes Argument dafür ist das Beispiel, das sie über die Verwendung von gzip zum Komprimieren der Seite geben. Obwohl ttfb schneller ist, wenn Sie nicht komprimieren, ist die Gesamterfahrung des Benutzers am schlechtesten, da das Herunterladen von Inhalten, die nicht komprimiert sind, länger dauert.
quelle
Wenn Sie PHP verwenden, versuchen Sie,
<?php flush(); ?>
nach</head>
und vor</body>
oder einen beliebigen Abschnitt zu verwenden, den Sie schnell ausgeben möchten (z. B. den Header oder den Inhalt). Es wird den eigentlichen Code ausgeben, ohne auf das Ende von PHP zu warten. Verwenden Sie diese Funktion nicht ständig, da sonst die Geschwindigkeitssteigerung nicht spürbar wird.Mehr Info
quelle