recherche
Maisoninterface Webjs tutoriel5 ajustements de performances faciles pour Node.js Express

5 Easy Performance Tweaks for Node.js Express

Points clés

  • Le passage au mode de production peut considérablement améliorer les performances des applications express, car le mode de production élimine les tâches de trace de journalisation et d'exception en mode de développement.
  • Activer la compression GZIP dans Express 4.x peut réduire la charge HTTP et améliorer les performances. Cela peut être fait en installant le module de compression et en l'utilisant comme première fonction middleware.
  • La suppression du middleware inutile, en considérant l'utilisation d'un moteur de modèle plus simple, et la mise en cache efficace des variables communes peut encore optimiser les performances des applications express. Des outils de construction tels que Gulp peuvent être utilisés pour comprimer et fusionner les modèles HTML, les fichiers CSS et JavaScript, et les variables de session doivent être limitées pour éviter les problèmes de performances liés à la mémoire.

Node.js a complètement changé le développement Web, et le cadre express a apporté une contribution indélébile. Express n'est peut-être pas l'option de serveur la plus rapide ou la plus avancée, mais c'est presque certainement la plus utilisée, avec plus de 3 millions de téléchargements par mois. Si vous ne faites rien, Node.js et Express fonctionneront également très rapidement. Cependant, il existe des moyens faciles de faire fonctionner Express 4.x plus rapidement ...

  1. Passer en mode de production

Express peut être exécuté en plusieurs modes. Par défaut, il suppose que le mode de développement, qui fournit des traces de pile d'exception et d'autres tâches de journalisation. Il existe également un mode de débogage qui enregistre les messages à la console, par exemple:

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

Sur votre serveur en direct, vous pouvez améliorer considérablement les performances en passant en mode de production. Cela peut être fait en définissant la variable d'environnement Node_env à la production. Il peut être défini dans la session actuelle de Windows avant de démarrer l'application Express:

<code>set NODE_ENV=production</code>

ou mac / linux:

<code>export NODE_ENV=production</code>

Les utilisateurs de Linux peuvent également définir Node_env dans une ligne au démarrage:

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

Idéalement, vous devez configurer votre environnement en ajoutant <code>export NODE_ENV=production</code> à votre ~/.bash_profile ou au script de démarrage correspondant.

  1. Activer gzip

Express 4.x fournit le moins de fonctionnalités disponibles qui peuvent être améliorées avec le middleware. Une caractéristique manquante moins évidente est la compression GZIP, ce qui réduit la charge HTTP afin que le navigateur puisse l'étendre lorsqu'il reçoit. Pour ajouter GZIP, utilisez NPM pour installer le module de compression:

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

(Selon votre configuration, vous devrez peut-être utiliser Sudo sur Mac / Linux - il existe de nombreuses façons de résoudre ce problème.) Dans votre fichier de démarrage d'application principal, incluez le module de compression:

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

puis installez-le comme première fonction middleware (avant les autres méthodes d'express .User):

<code>DEBUG=express:* node ./app.js</code>
  1. supprimer le middleware inutile

Si vous avez généré une application pré-construite à l'aide d'un générateur express ou de procédures similaires, supprimez les modules de middleware que vous n'avez pas utilisés. Par exemple, si vous n'utilisez pas de cookies, vous pouvez supprimer le module de cookie-parser ou utiliser req.cookies et res.cookies pour implémenter une alternative plus simple. En mode de production, certains processus peuvent être supprimés, tels que la sortie de débogage, par exemple:

<code>set NODE_ENV=production</code>

En d'autres termes, il est préférable de continuer à servir. Le navigateur demande fréquemment le fichier favicon.ico et le module peut améliorer la mise en cache.

  1. Envisagez d'utiliser un moteur de modèle plus simple

Jade est le moteur de modèle par défaut pour de nombreuses installations express, et c'est un bon choix. Cependant, si vous êtes heureux d'écrire votre propre HTML et que vous avez uniquement besoin d'interpolation et d'évaluation de base, envisagez d'utiliser une alternative légère, telle que DOT, qui peut être ajoutée comme middleware express à l'aide du module express-dot-moteur. Alternativement, vous pouvez contourner le moteur de modèle pour une réponse plus simple, telle que:

<code>export NODE_ENV=production</code>

Assurez-vous toujours que la mise en cache de vue est activée, quel que soit le moteur de modèle que vous utilisez:

<code>NODE_ENV=production node ./app.js</code>
  1. N'oubliez pas le cache!

Contrairement à la plupart des applications basées sur le serveur, l'application Node.js s'exécute en permanence. Ainsi, vous pouvez définir des variables communes comme les objets de connexion de la base de données une fois et les réutiliser lors de chaque demande pour chaque utilisateur. Ce concept peut être étendu au besoin. D'une manière générale, plus vous pouvez cacher les éléments les plus courants, meilleur est les performances. Par exemple, supposons que votre application CMS basée sur Express affiche des liens vers vos cinq derniers articles sur la page d'accueil. La liste peut être générée et stockée dans une variable et n'est mise à jour que lorsque de nouveaux articles sont publiés.

Conseils supplémentaires supplémentaires

En voulez-vous plus? …

  • Envisagez d'utiliser Nginx pour servir le contenu statique et réduire la charge sur Node.js et Express.
  • Utilisez des outils de construction tels que Gulp pour compresser et fusionner vos modèles HTML, CSS et vos fichiers JavaScript.
  • Limitez l'utilisation des variables de session. Les données de session utilisateur sont généralement stockées en mémoire, ce qui peut entraîner des problèmes de performances à mesure que l'utilisation augmente. Envisagez d'utiliser uniquement des ID, puis d'obtenir des informations utilisateur à partir de la base de données pendant la demande.
  • Augmentez le nombre maximum de prises HTTP de cinq à des nombres plus élevés, par exemple:
<code>npm install compression --save</code>
  • Si possible, appelez des séquences d'opérations de blocage au lieu de séquentiellement.
  • Évitez d'utiliser des appels de blocage synchrones dans tout sauf l'initialisation de l'application.
  • Notez toujours que le code s'exécute pour un utilisateur de blocs de code de code pour l'autre utilisateur.

Avez-vous d'autres conseils de performances pour Node.js ou Express? J'adorerais les entendre dans les commentaires.

(Le chapitre sur les FAQ sur le réglage des performances de Node.js doit être ajouté ici, le même contenu que celui prévu dans le texte d'entrée)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Frameworks javascript: alimenter le développement Web moderneFrameworks javascript: alimenter le développement Web moderneMay 02, 2025 am 12:04 AM

La puissance du cadre JavaScript réside dans la simplification du développement, l'amélioration de l'expérience utilisateur et les performances des applications. Lorsque vous choisissez un cadre, considérez: 1. Taille et complexité du projet, 2. Expérience d'équipe, 3. Écosystème et soutien communautaire.

La relation entre JavaScript, C et BrowsersLa relation entre JavaScript, C et BrowsersMay 01, 2025 am 12:06 AM

INTRODUCTION Je sais que vous pouvez le trouver étrange, que doit faire exactement JavaScript, C et Browser? Ils semblent sans rapport, mais en fait, ils jouent un rôle très important dans le développement Web moderne. Aujourd'hui, nous discuterons du lien étroit entre ces trois. Grâce à cet article, vous apprendrez comment JavaScript fonctionne dans le navigateur, le rôle de C dans le moteur du navigateur et comment ils fonctionnent ensemble pour stimuler le rendu et l'interaction des pages Web. Nous connaissons tous la relation entre JavaScript et Browser. JavaScript est la langue principale du développement frontal. Il fonctionne directement dans le navigateur, rendant les pages Web vives et intéressantes. Vous êtes-vous déjà demandé pourquoi javascr

Node.js diffuse avec dactylographieNode.js diffuse avec dactylographieApr 30, 2025 am 08:22 AM

Node.js excelle dans des E / S efficaces, en grande partie grâce aux flux. Streams traite les données progressivement, en évitant la surcharge de mémoire - idéal pour les fichiers volumineux, les tâches réseau et les applications en temps réel. Combiner les flux avec la sécurité de type dactylographié crée un powe

Python vs JavaScript: considérations de performance et d'efficacitéPython vs JavaScript: considérations de performance et d'efficacitéApr 30, 2025 am 12:08 AM

Les différences de performance et d'efficacité entre Python et JavaScript se reflètent principalement dans: 1) comme un langage interprété, Python fonctionne lentement mais a une efficacité de développement élevée et convient au développement rapide des prototypes; 2) JavaScript est limité au thread unique dans le navigateur, mais les E / S multi-threading et asynchrones peuvent être utilisées pour améliorer les performances dans Node.js, et les deux ont des avantages dans les projets réels.

Les origines de JavaScript: explorer son langage d'implémentationLes origines de JavaScript: explorer son langage d'implémentationApr 29, 2025 am 12:51 AM

JavaScript est originaire de 1995 et a été créé par Brandon Ike, et a réalisé que la langue en langue C. 1.C offre des capacités de programmation élevées et au niveau du système pour JavaScript. 2. La gestion de la mémoire de JavaScript et l'optimisation des performances reposent sur le langage C. 3. La fonctionnalité multiplateforme du langage C aide JavaScript à s'exécuter efficacement sur différents systèmes d'exploitation.

Dans les coulisses: quel langage alimente JavaScript?Dans les coulisses: quel langage alimente JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript s'exécute dans les navigateurs et les environnements Node.js et s'appuie sur le moteur JavaScript pour analyser et exécuter du code. 1) Générer une arborescence de syntaxe abstraite (AST) au stade d'analyse; 2) Convertir AST en bytecode ou code machine à l'étape de compilation; 3) Exécutez le code compilé à l'étape d'exécution.

L'avenir de Python et Javascript: tendances et prédictionsL'avenir de Python et Javascript: tendances et prédictionsApr 27, 2025 am 12:21 AM

Les tendances futures de Python et JavaScript incluent: 1. Python consolidera sa position dans les domaines de l'informatique scientifique et de l'IA, 2. JavaScript favorisera le développement de la technologie Web, 3. Le développement de plate-forme multiplié deviendra un sujet brûlant, et 4. L'optimisation des performances sera le focus. Les deux continueront d'étendre les scénarios d'application dans leurs champs respectifs et de faire plus de percées dans les performances.

Python vs JavaScript: environnements et outils de développementPython vs JavaScript: environnements et outils de développementApr 26, 2025 am 12:09 AM

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft