• 1. Introduction

  • 2. Installer et configurer PM2

  • 3. Lancer et superviser votre cluster

  • 3.1. Exemple de métriques après clustering

  • 4. Bonnes pratiques et optimisations avancées

  • 5. Erreurs fréquentes et astuces

  • 6. Conclusion

optimiser les performances de votre api node.js en production avec pm2 et clustering : guide technique

Image de optimiser les performances de votre api node.js en production avec pm2 et clustering : guide technique

Introduction

En production, la montée en charge d’une API Node.js peut rapidement révéler des goulets d’étranglement CPU ou mémoire. PM2, gestionnaire de processus populaire, associé au clustering natif de Node.js, permet de maximiser l’utilisation des cœurs CPU, d’assurer une haute disponibilité et de faciliter le reload zéro downtime. Dans ce guide, vous découvrirez pas à pas comment déployer et optimiser votre API Node.js avec PM2 en mode cluster.

1. Installer et configurer PM2

  1. Installation globale
    npm install -g pm2@latest
  2. Initialiser votre application
    pm2 init simple

    Cela crée un fichier ecosystem.config.js de base.

  3. Configurer le mode cluster
    module.exports = {
      apps: [{
        name: "my-api",
        script: "server.js",
        instances: "max",
        exec_mode: "cluster",
        autorestart: true,
        watch: false,
        max_memory_restart: "200M"
      }]
    };

    instances: "max" utilise tous les cœurs CPU disponibles. – max_memory_restart redémarre automatiquement en cas de fuite mémoire.

2. Lancer et superviser votre cluster

  1. Démarrage en mode production
    pm2 start ecosystem.config.js --env production
  2. Vérifier l’état des processus
    pm2 list

    Obtenez CPU, mémoire et statut de chaque worker.

  3. Logs en temps réel
    pm2 logs my-api --lines 100
  4. Reload zéro downtime
    pm2 reload my-api

    Déploiement sans interruption de service.

Exemple de métriques après clustering

WorkerCPU (%)Mémoire (MB)
01245
11547
21142
31344

3. Bonnes pratiques et optimisations avancées

  • Gestion de la mémoire : ajustez max_memory_restart selon vos tests de charge.
  • Monitoring externe : intégrez Docker + AI Monitoring (Prometheus, Grafana) pour alertes et dashboards.
  • Logs structurés : utilisez pm2 install pm2-logrotate pour faire pivoter vos logs et éviter l’épuisement du disque.
  • Cluster + Load Balancer : placez un Nginx en front pour répartir la charge et gérer le SSL (voir configuration).
  • Mises à jour canary : déployez progressivement en combinant pm2 reload --only my-api --update-env avec un reverse proxy.

4. Erreurs fréquentes et astuces

  • “Process out of memory” : augmentez max_memory_restart ou réduisez le nombre d’instances.
  • “Port already in use” : vérifiez que chaque worker écoute sur le même port en mode cluster (Node.js le gère automatiquement).
  • “Crash Loop” : activez restart_delay pour éviter les redémarrages en boucle :
    restart_delay: 5000

Conclusion

Mettre en place PM2 en mode cluster permet de tirer parti de tous vos cœurs CPU, d’améliorer la résilience et de simplifier vos déploiements en production. En combinant ces techniques avec un monitoring adapté, vous garantissez un service rapide et disponible pour vos utilisateurs. Pour aller plus loin, découvrez nos expertises en Node.js et en renfort technique chez Novane.

Prêt à booster vos performances Node.js ? Contactez-nous pour un audit personnalisé.

Image de 5 spots tech secrets à Marseille pour coder et networker en 2025

5 spots tech secrets à Marseille pour coder et networker en 2025

Découvrez 5 lieux inattendus à Marseille pour coder face à la mer, networker en 2025 et booster votre créativité dans un écosystème tech en plein essor
Image de zoom ai companion : comment l’assistant ia de zoom transforme vos réunions pros

zoom ai companion : comment l’assistant ia de zoom transforme vos réunions pros

Découvrez comment Zoom AI Companion résume vos réunions, crée tâches et décisions, répond en direct et booste la productivité de vos équipes distantes.
Image de sécuriser un cluster Kubernetes EKS sur AWS avec Terraform : guide technique approfondi

sécuriser un cluster Kubernetes EKS sur AWS avec Terraform : guide technique approfondi

Apprenez à provisionner et sécuriser un cluster Kubernetes EKS sur AWS avec Terraform, RBAC, PodSecurity, audit CIS et automatiser les patchs avec Ansible
DEVIS GRATUIT

Un projet en tête ? Vous avez des questions ?

Contactez nous pour recevoir un devis gratuitement, des réponses à vos questions ou une séance de consulting offerte avec l'un de nos experts :

Nous contacter