Maison > interface Web > js tutoriel > Meilleures ips pour booster votre application Express.js pour des performances ultra-rapides

Meilleures ips pour booster votre application Express.js pour des performances ultra-rapides

Mary-Kate Olsen
Libérer: 2024-11-25 09:00:14
original
173 Les gens l'ont consulté

Top ips to Supercharge Your Express.js App for Lightning-Fast Performance

Express.js est l'un des frameworks les plus populaires pour créer des applications Node.js. Sa légèreté la rend rapide, mais à mesure que votre application se développe, des goulots d'étranglement en termes de performances peuvent apparaître. Dans ce blog, je partagerai cinq conseils pratiques pour optimiser votre application Express.js en termes de vitesse et d'évolutivité.

1. Optimiser l'utilisation du middleware

Le middleware est l'épine dorsale de toute application Express.js, mais un middleware inutile ou mal implémenté peut ralentir les choses.

Charger uniquement le middleware requis : Évitez le middleware global pour les routes qui n'en ont pas besoin.
Exemple : appliquez l'analyseur de corps uniquement aux routes attendant une charge utile JSON.

const express = require('express');
const app = express();
const bodyParser = require('body-parser');

// Use body-parser only for specific routes
app.post('/api/data', bodyParser.json(), (req, res) => {
  res.send('Data received');
});

Copier après la connexion

2. Tirer parti de la mise en cache

La mise en cache réduit le besoin de requêtes répétées de base de données ou d'appels d'API. Des outils tels que Redis ou les en-têtes de mise en cache HTTP peuvent améliorer considérablement les temps de réponse.

Exemple avec Redis :

const redis = require('redis');
const client = redis.createClient();
const app = require('express')();

app.get('/api/resource', (req, res) => {
  const cacheKey = 'resource';
  client.get(cacheKey, (err, cachedData) => {
    if (cachedData) {
      res.send(JSON.parse(cachedData));
    } else {
      const data = fetchDataFromDatabase(); // Simulated DB call
      client.setex(cacheKey, 3600, JSON.stringify(data)); // Cache for 1 hour
      res.send(data);
    }
  });
});

Copier après la connexion

Mise en cache HTTP :

app.use((req, res, next) => {
  res.set('Cache-Control', 'public, max-age=3600'); // Cache for 1 hour
  next();
});

Copier après la connexion

3. Utiliser la compression

De grosses charges utiles peuvent ralentir les temps de réponse. L'activation de la compression Gzip peut réduire la taille de la charge utile et améliorer la vitesse.

const compression = require('compression');
const express = require('express');
const app = express();

app.use(compression()); // Compress all routes

Copier après la connexion

Ce simple ajout peut réduire la taille des réponses jusqu'à 70 % !

4. Optimiser les requêtes de base de données

Les requêtes lentes dans les bases de données sont souvent la principale cause des mauvaises performances des applications.

Conseils :

  • Indexez les champs fréquemment interrogés dans votre base de données.
  • Utilisez la pagination ou la limite pour les grands ensembles de données.
  • Évitez les problèmes de requête N 1 en utilisant des jointures ou des récupérations par lots. Exemple avec Mangouste :
const User = require('./models/User');

// Instead of fetching all users
app.get('/users', async (req, res) => {
  const users = await User.find().limit(20).skip(0); // Use pagination
  res.send(users);
});

Copier après la connexion

5. Activez HTTP/2 et utilisez un CDN

HTTP/2 permet le multiplexage et la compression d'en-tête, réduisant ainsi la latence des actifs statiques. L'association à un CDN accélère encore la livraison en mettant en cache les actifs statiques plus proches des utilisateurs.

Configuration pour HTTP/2 avec Express :

const http2 = require('http2');
const fs = require('fs');
const express = require('express');

const app = express();
const options = {
  key: fs.readFileSync('./ssl/key.pem'),
  cert: fs.readFileSync('./ssl/cert.pem'),
};

http2.createSecureServer(options, app).listen(8443, () => {
  console.log('HTTP/2 server running on port 8443');
});

Copier après la connexion

En gérant efficacement le middleware, la mise en cache, la compression des réponses et l'optimisation des requêtes de base de données, vous pouvez améliorer considérablement les performances. Mettez en œuvre ces conseils et assurez-vous que votre application fonctionne très rapidement !

Si vous avez trouvé ce blog utile, cliquez sur l'icône ❤️ et suivez-moi pour plus de trucs et astuces JavaScript !

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal