5 einfache Leistungsveränderungen für 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 ...
- zum Produktionsmodus 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.
- 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>
- unnötige Middleware 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.
- 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>
- 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.
(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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Häufig gestellte Fragen und Lösungen für das Ticket-Ticket-Ticket-Ticket in Front-End im Front-End-Entwicklungsdruck ist der Ticketdruck eine häufige Voraussetzung. Viele Entwickler implementieren jedoch ...

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Es gibt kein absolutes Gehalt für Python- und JavaScript -Entwickler, je nach Fähigkeiten und Branchenbedürfnissen. 1. Python kann mehr in Datenwissenschaft und maschinellem Lernen bezahlt werden. 2. JavaScript hat eine große Nachfrage in der Entwicklung von Front-End- und Full-Stack-Entwicklung, und sein Gehalt ist auch beträchtlich. 3. Einflussfaktoren umfassen Erfahrung, geografische Standort, Unternehmensgröße und spezifische Fähigkeiten.

Diskussion über die Realisierung von Parallaxe -Scrolling- und Elementanimationseffekten in diesem Artikel wird untersuchen, wie die offizielle Website der Shiseeido -Website (https://www.shiseeido.co.jp/sb/wonderland/) ähnlich ist ...

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript zu lernen ist nicht schwierig, aber es ist schwierig. 1) Verstehen Sie grundlegende Konzepte wie Variablen, Datentypen, Funktionen usw. 2) Beherrschen Sie die asynchrone Programmierung und implementieren Sie sie durch Ereignisschleifen. 3) Verwenden Sie DOM -Operationen und versprechen Sie, asynchrone Anfragen zu bearbeiten. 4) Vermeiden Sie häufige Fehler und verwenden Sie Debugging -Techniken. 5) Die Leistung optimieren und Best Practices befolgen.

Wie fusioniere ich Array -Elemente mit derselben ID in ein Objekt in JavaScript? Bei der Verarbeitung von Daten begegnen wir häufig die Notwendigkeit, dieselbe ID zu haben ...

Erforschen Sie die Implementierung der Funktion des Bedien- und Drop-Einstellungsfunktion der Panel ähnlich wie VSCODE im Front-End. In der Front-End-Entwicklung wird VSCODE ähnlich wie VSCODE implementiert ...
