5 ajustements de performances faciles pour Node.js Express
Feb 19, 2025 am 09:06 AM
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 taches 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 ...
- 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 taches 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.
- 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>
- 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.
- 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>
- 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Java et JavaScript sont différents langages de programmation, chacun adapté à différents scénarios d'application. Java est utilisé pour le développement des grandes entreprises et des applications mobiles, tandis que JavaScript est principalement utilisé pour le développement de pages Web.

JavaScriptCommentsaSententialFormantaining, Reading et GuidingCodeEexecution.1) unique-linecomesaUSEUSEFORQUICKEXPLANATIONS.2) Multi-linecommentSExPlainComplexLogicorProvideTailedDocumentation.3) Inlinecomementsclarifypecifications

Les points suivants doivent être notés lors du traitement des dates et du temps dans JavaScript: 1. Il existe de nombreuses fa?ons de créer des objets de date. Il est recommandé d'utiliser les cha?nes de format ISO pour assurer la compatibilité; 2. Get and définir des informations de temps peuvent être obtenues et définir des méthodes, et notez que le mois commence à partir de 0; 3. Les dates de mise en forme manuelle nécessitent des cha?nes et les bibliothèques tierces peuvent également être utilisées; 4. Il est recommandé d'utiliser des bibliothèques qui prennent en charge les fuseaux horaires, comme Luxon. La ma?trise de ces points clés peut éviter efficacement les erreurs courantes.

PlacertagsatthebottomofablogPostorwebPageSerSpracticalPurpossForseo, userexperience, anddesign.1.ithelpswithseobyallowingsechingenginestoaccesskeyword-elevanttagswithoutcluteringtheaincontent..itimproveserexperceenceegmentyepingthefocusonThearrlUl

Javascriptispreferredforwebdevelopment, tandis que javaisbetterforlarge-scalebackenSystemsandandroidApps.1)

La capture d'événements et la bulle sont deux étapes de la propagation des événements dans DOM. La capture est de la couche supérieure à l'élément cible, et la bulle est de l'élément cible à la couche supérieure. 1. La capture de l'événement est implémentée en définissant le paramètre UseCapture d'AdveventListener sur true; 2. événement Bubble est le comportement par défaut, UseCapture est défini sur False ou Omise; 3. La propagation des événements peut être utilisée pour empêcher la propagation des événements; 4. événement Bubbling prend en charge la délégation d'événements pour améliorer l'efficacité du traitement du contenu dynamique; 5. La capture peut être utilisée pour intercepter les événements à l'avance, telles que la journalisation ou le traitement des erreurs. La compréhension de ces deux phases aide à contr?ler avec précision le calendrier et comment JavaScript répond aux opérations utilisateur.

JavascripthSsevenfundamentalDatatypes: nombre, cha?ne, booléen, indéfini, nul, objet, andymbol.1) nombres usUseadouble-précisformat, utile

Java et JavaScript sont différents langages de programmation. 1.Java est un langage typique et compilé, adapté aux applications d'entreprise et aux grands systèmes. 2. JavaScript est un type dynamique et un langage interprété, principalement utilisé pour l'interaction Web et le développement frontal.
