Maison >interface Web >js tutoriel >5 ajustements de performances faciles pour Node.js Express
Points clés
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 ...
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.
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>
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.
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>
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? …
<code>npm install compression --save</code>
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!