Heim >Web-Frontend >js-Tutorial >5 einfache Leistungsveränderungen für Node.js Express

5 einfache Leistungsveränderungen für Node.js Express

Christopher Nolan
Christopher NolanOriginal
2025-02-19 09:06:11580Durchsuche

5 Easy Performance Tweaks for Node.js Express

Schlüsselpunkte

  • Umwechsel in den Produktionsmodus kann die Ausdrucksanwendungsleistung erheblich verbessern, da der Produktionsmodus Protokollierung und Ausnahmestapel -Trace -Aufgaben im Entwicklungsmodus eliminiert.
  • Aktivieren Sie die GZIP -Komprimierung in Express 4.x können die HTTP -Last reduzieren und die Leistung verbessern. Dies kann durch die Installation des Komprimierungsmoduls und Verwendung als erste Middleware -Funktion erfolgen.
  • Entfernen unnötiger Middleware, Berücksichtigung einer einfacheren Vorlagen -Engine und effektives Zwischenspeichern gemeinsame Variablen können die Leistung von Expressanwendungen weiter optimieren. Build-Tools wie Gulp können zum Komprimieren und Zusammenführen von HTML-Vorlagen, CSS und JavaScript-Dateien verwendet werden, und Sitzungsvariablen sollten beschränkt sein, um die Leistungsprobleme im Zusammenhang mit Speicher zu vermeiden.

node.js hat die Webentwicklung vollständig verändert, und das Express -Framework hat einen unauslöschlichen Beitrag geleistet. Express ist vielleicht nicht die schnellste oder fortschrittlichste Serveroption, ist jedoch mit ziemlicher Sicherheit die am häufigsten verwendete mit über 3 Millionen Downloads pro Monat. Wenn Sie nichts tun, läuft auch Node.js und Express sehr schnell. Es gibt jedoch einige einfache Möglichkeiten, Express 4.x schneller laufen zu lassen ...

  1. zum Produktionsmodus
  2. wechseln

Express kann in mehreren Modi ausgeführt werden. Standardmäßig wird der Entwicklungsmodus angenommen, der Ausnahmestapel -Spuren und andere Protokollierungsaufgaben bietet. Es gibt auch einen Debug -Modus, der Nachrichten an der Konsole protokolliert, zum Beispiel:

<code>DEBUG=express:* node ./app.js</code>

Auf Ihrem Live -Server können Sie die Leistung erheblich verbessern, indem Sie in den Produktionsmodus wechseln. Dies kann durch Einstellen der Node_Env -Umgebungsvariable in die Produktion erfolgen. Es kann in der aktuellen Windows -Sitzung eingestellt werden, bevor die Express -Anwendung gestartet wird:

<code>set NODE_ENV=production</code>

oder Mac/Linux:

<code>export NODE_ENV=production</code>

Linux -Benutzer können auch node_env in einer Zeile beim Start festlegen:

<code>NODE_ENV=production node ./app.js</code>

Idealerweise sollten Sie Ihre Umgebung konfigurieren, indem Sie <code>export NODE_ENV=production</code> zu Ihrem ~/.bash_profile oder dem entsprechenden Startskript hinzufügen.

  1. Aktivieren Sie GZIP

Express 4.x bietet die geringste Anzahl verfügbarer Funktionen, die mit Middleware verbessert werden können. Eine weniger offensichtliche fehlende Funktion ist die GZIP -Komprimierung, wodurch die HTTP -Last reduziert wird, sodass der Browser sie skalieren kann, wenn er empfängt. Um GZIP hinzuzufügen, verwenden Sie NPM, um das Komprimierungsmodul zu installieren:

<code>npm install compression --save</code>

(abhängig von Ihrem Setup müssen Sie möglicherweise sudo auf Mac/Linux verwenden - es gibt viele Möglichkeiten, dieses Problem zu lösen.) In Ihrer Hauptanwendungs ​​-Startdatei finden Sie das Komprimierungsmodul ein:

<code>var compression = require('compression');</code>

dann installieren Sie es als erste Middleware -Funktion (vor anderen Express -Methoden):

<code>DEBUG=express:* node ./app.js</code>
  1. unnötige Middleware
  2. löschen

Wenn Sie eine vorgebaute Anwendung mit Expressgenerator oder ähnlichen Prozeduren generiert haben, löschen Sie alle Middleware -Module, die Sie nicht verwendet haben. Wenn Sie beispielsweise keine Cookies verwenden, können Sie das Cookie-Parser-Modul löschen oder req.cookies und res.cookies verwenden, um eine einfachere Alternative zu implementieren. Im Produktionsmodus können einige Prozesse gelöscht werden, wie z. B. Debug -Ausgabe, zum Beispiel:

<code>set NODE_ENV=production</code>

Mit anderen Worten, es ist am besten, das Diener-Favicon zu halten. Der Browser fordert häufig die favicon.ico -Datei an, und das Modul kann das Caching verbessern.

  1. Erwägen Sie eine einfachere Template -Engine

jade ist die Standard -Vorlage -Engine für viele Express -Installationen und eine gute Wahl. Wenn Sie gerne Ihre eigene HTML schreiben und nur eine grundlegende Interpolation und Bewertung benötigen, sollten Sie eine leichte Alternative wie DOT verwenden, die unter Verwendung des Express-Dot-Engine-Moduls als Express Middleware hinzugefügt werden kann. Alternativ können Sie die Template -Engine für eine einfachere Antwort umgehen, wie z. B.

<code>export NODE_ENV=production</code>

Stellen Sie immer sicher, dass das Caching anzeigen ist, unabhängig davon, welche Template -Engine Sie verwenden:

<code>NODE_ENV=production node ./app.js</code>
  1. Denken Sie an Cache!

Im Gegensatz zu den meisten serverbasierten Anwendungen wird die Anwendung node.js dauerhaft ausgeführt. So können Sie gängige Variablen wie Datenbankverbindungsobjekte einmal festlegen und während jeder Anfrage für jeden Benutzer wiederverwenden. Dieses Konzept kann nach Bedarf erweitert werden. Im Allgemeinen können Sie die Leistung besser desto besser. Angenommen, Ihre ausdrückliche CMS-Anwendung zeigt beispielsweise Links zu Ihren letzten fünf Beiträgen auf der Homepage an. Die Liste kann in einer Variablen generiert und gespeichert werden und wird nur aktualisiert, wenn neue Artikel veröffentlicht werden.

zusätzliche schnelle Tipps

Willst du mehr? …

  • Erwägen Sie, Nginx zu verwenden, um statischen Inhalt zu bedienen und die Last auf Node.js und Express zu reduzieren.
  • Verwenden Sie Build -Tools wie Gulp, um Ihre HTML -Vorlagen, CSS und JavaScript -Dateien zusammenzufassen und zusammenzuführen.
  • Begrenzen Sie die Verwendung von Sitzungsvariablen. Benutzersitzungsdaten werden normalerweise im Speicher gespeichert, was zu Leistungsproblemen mit zunehmender Verwendung führen kann. Erwägen Sie, nur IDs zu verwenden und dann Benutzerinformationen aus der Datenbank während der Anforderung zu erhalten.
  • Erhöhen Sie die maximale Anzahl von HTTP -Sockeln von fünf auf höhere Zahlen, zum Beispiel:
<code>npm install compression --save</code>
    Wenn möglich, rufen Sie nach Möglichkeit Blockierungssequenzen von Operationen statt nacheinander auf.
  • Vermeiden Sie die Verwendung von synchronen Blockierungsaufrufen in allem außer Anwendungsinitialisierung.
  • Beachten Sie immer, dass der Code für einen Benutzer blockiert, der Code für einander ausgeführt wird.
Haben Sie andere Leistungstipps für Node.js oder Express? Ich würde sie gerne in den Kommentaren hören.

(Das Kapitel zu FAQs auf Node.js Leistungsstimmen sollte hier hinzugefügt werden, der gleiche Inhalt wie im Eingabetxt angegeben)

Das obige ist der detaillierte Inhalt von5 einfache Leistungsveränderungen für Node.js Express. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn