Nachdem ich React eine Weile studiert habe, möchte ich es in die Praxis umsetzen. Deshalb habe ich meine persönliche Blog-Website neu strukturiert. Es dauerte etwa eine Woche, bis die Website erfolgreich wiederhergestellt war. Als sie dann jedoch online war, war die Zugriffsgeschwindigkeit wirklich langsam, so langsam, dass ich es nicht ertragen konnte. Es war eine so kleine Website mit nur wenigen Artikeln und sie war so langsam, dass es inakzeptabel war. Ich bin kein Perfektionist, aber das geht nicht. Später habe ich einige Zeit mit Leistungsforschung verbracht. Ich habe herausgefunden, dass es einen Grund für die Langsamkeit gibt. Frameworks wie React?Die derzeit gängigen Front-End-Frameworks React, Vue und Angular verwenden alle clientseitiges Rendering (serverseitiges Rendering fällt nicht in den Rahmen dieses Artikels). Dadurch wird der Druck auf den Server natürlich erheblich verringert. Der relative Druck auf die Browser hat zugenommen. Dies bedeutet, dass eine große Anzahl von JS-Dateien lokal ausgeführt werden muss. Und das Herunterladen dieser großen JS-Dateien vom Server dauert eine Weile. Es dauert eine Weile, diese JS erneut auszuführen. Dies ist der Hauptgrund dafür, dass die Homepage langsam geladen wird. Natürlich handelt es sich dabei nur um die Startseite, aufgrund des nachfolgenden Caches ist diese aber vergleichsweise schnell. Wie kann man also die Geschwindigkeit erhöhen? Es gibt zwei Möglichkeiten, um zu beginnen
Bevor ich auf die konkrete Optimierung eingehe, möchte ich kurz über die Serverkonfiguration meiner Blog-Website sprechen.
Die Testumgebung verwendet den Firefox-Browser und die Zugriffsgeschwindigkeit vor der Optimierung ist wie folgt Ist es nicht sehr langsam? So langsam, dass es mich an meinem Leben zweifeln lässt. Das Laden eines Blogbeitrags mit mehr als 2.000 Wörtern dauert 6 Sekunden. Lassen Sie uns das anhand meines eigenen Blogs Schritt für Schritt optimieren. Verbessern Sie die Geschwindigkeit beim Herunterladen statischer RessourcenEs gibt viele Möglichkeiten, die Geschwindigkeit beim Herunterladen statischer Ressourcen zu erhöhen. Die effektivsten Möglichkeiten zur Erhöhung der Geschwindigkeit sind ein Upgrade von HTTP1.1 auf HTTP2.0, die Aktivierung der GZIP-Datenkomprimierung, die Verwendung von CDN usw. Auch meine eigene Website wird hauptsächlich unter diesen Gesichtspunkten nach und nach optimiert, um die Geschwindigkeit zu verbessern. Upgrade von HTTP1.1 auf HTTP2 So war es vor dem Upgrade Nach dem Upgrade auf HTTP2.0 sieht es so aus Wie kann man also ein Upgrade durchführen? Auch für ein Upgrade gelten Bedingungen.
Ich weiß nicht, ob die Nginx- und OpenSSL-Versionen weitergegeben werden können Server { hören Sie 443 ssl http2 . . . } Das ist alles. Ist das nicht ganz einfach? Starten Sie dann den Nginx-Server neu. (Dieses Upgrade verbessert die Zugriffsgeschwindigkeit nicht wesentlich.) GZIP-Datenkomprimierung aktivieren Wie aus der obigen Abbildung ersichtlich ist, sind die Daten in der Übertragungsspalte und der Größenspalte gleich, d. h. die Größe der Datei entspricht der Größe der Datei und es erfolgt überhaupt keine Komprimierung. Bei großen Dateien wie 1,4 MB ist eine Komprimierung sehr wichtig. Darüber hinaus ist dies nur eine einfache Blog-Site. Dies ist einer der Hauptgründe für die Verlangsamung. Daher ist es für uns notwendig, eine GZIP-Komprimierung durchzuführen. Wie schalten wir also gzip ein? Ist es sehr schwierig? Eigentlich ist es ganz einfach. Nginx unterstützt es bereits und wir brauchen nur eine einfache Konfiguration. Ändern Sie die nginx-Konfigurationsdatei auf die gleiche Weise Server { hören Sie 443 ssl http2 #...viele gzip-Dateien werden in der Mitte weggelassen; gzip_puffer 32 4k; gzip_comp_level 6; gzip_min_länge 200; gzip_types Text/CSS-Text/XML-Anwendung/JavaScript-Anwendung/JSON; } In
Starten Sie auf ähnliche Weise den Nginx-Server neu. Wie aus der Abbildung ersichtlich, wird die Geschwindigkeit erheblich verbessert. Wenn man die Spalten „Übertragen“ und „Größe“ betrachtet, ist der Größenunterschied enorm. Nach Abschluss dieser beiden Schritte wurde die Geschwindigkeit von 6 Sekunden auf etwa 2 Sekunden reduziert.
Optimieren Sie den Code, um die Laufgeschwindigkeit zu verbessernBeim Testen mehrerer Anfragen. Wir haben festgestellt, dass es immer noch viele kleine Dateien gibt, deren Ausführung jedoch recht zeitaufwändig ist. Dies hängt natürlich mit Vorgängen wie der Erstellung eines DOM-Baums durch React zusammen. Wir können jedoch immer noch sehen, ob im Code noch weiterer Optimierungsspielraum besteht. Für eine so kleine Website war es zu langsam. Ich dachte, der von mir geschriebene Code müsse einige zeitaufwändige Vorgänge enthalten, und das war auch der Fall. Dieser Code auf der Website const markdownHtml = markiert(content_mark || ''); Die Konvertierung von Markdown in HTML dauert einige Zeit. Wenn der Artikel sehr groß ist, kann diese Zeit nicht ignoriert werden. In diesem Fall können wir beim Speichern von Markdown direkt zwei Kopien der Daten speichern, eine sind die ursprünglichen Markdown-Daten und die andere sind die Daten, nachdem Markdown in HTML konvertiert wurde. Beim Rendern der Seite wird der konvertierte HTML-Code direkt abgerufen, was Konvertierungszeit spart. Wir können auch das Natürlich ist auch die Verbesserung des Benutzererlebnisses während des Ladevorgangs ein wichtiger Aspekt. Auch wenn dies die Laufgeschwindigkeit nicht effektiv erhöhen kann, kann es die Benutzerzufriedenheit steigern. Wie das Sprichwort sagt: Die Zeit vergeht wie im Flug, wenn man glücklich ist. Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Leistungsoptimierung des langsamen Ladeproblems der React-Homepage. Weitere relevante Inhalte zur Leistungsoptimierung des langsamen Ladeproblems der React-Homepage finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Zwei Methoden zur Implementierung der MySQL-Gruppenzählung und Bereichsaggregation
>>: Tutorial zur Konfiguration des Nginx/Httpd-Reverseproxys für Tomcat
Beim Öffnen ausländischer Websites werden häufig ...
In diesem Artikelbeispiel wird der spezifische Co...
Nginx (Engine x) ist ein leistungsstarker HTTP- u...
Inhaltsverzeichnis Vorwort 1. Gründe: 2. Lösungsi...
Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...
1. Dreieck Rahmeneinstellungen Code: Breite: 300p...
Vor ein paar Tagen habe ich mit einem Freund etwa...
In diesem Artikelbeispiel wird der spezifische Co...
Manchmal müssen wir Programme auf dem Windows-Sys...
Denn die von Docker abgerufenen Basisimages wie C...
In diesem Artikel wird der spezifische Code von j...
HTML hat versucht, sich von der Präsentation weg ...
Inhaltsverzeichnis Entdecken Sie: Anwendung von D...
Zwei Probleme, die bei der Installation von Docke...
Wenn die DataSource-Eigenschaft eines DataGrid-Ste...