Module PM2 : gestionnaire d’applications javascript

Ce module global est un gestionnaire d’applications js. Il permet principalement de relancer l’application :

  • dès qu’un fichier est modifié ;
  • dès qu’une erreur survient et qui fait planter l’application web (par defaut l’application ne marche plus et il faut la relancer manuellement)

Doc officielle : https://github.com/Unitech/pm2 et https://pm2.keymetrics.io/

Installation :

npm install pm2 -g

Lancement d’une application avec PM2 :

pm2 start index.js
Exemple de sortie de la commande PM2 start xxx.js

Arrêt d’une application :

pm2 stop index

Restart d’une appli :

pm2 restart index

Lister les applications prises en charge :

pm2 ls

Désenregistrement d’une application :

pm2 delete index

Visualiser les logs :

pm2 logs
Exemple de sortie pour la commande PM2 logs

Autres commandes pour les logs :

$ pm2 logs APP-NAME       # Display APP-NAME logs
$ pm2 logs --json         # JSON output
$ pm2 logs --format       # Formated output

$ pm2 flush               # Flush all logs
$ pm2 reloadLogs          # Reload all logs

Monitorer ses applications :

pm2 monit

Le mode clusteur (de processeur)

Une application tourne sur un processeur par défaut. Il est possible de créer une instance par processeur.

>pm2 start index.js -i 4
Résultat pour la mise en cluster d’une application sur 4 processeurs

Pour changer dynamiquement le nombre de CPU à utiliser :

pm2 scale index 2

Pour visualiser en temps réél la charge :

pm2 imonit
Visualisation des ressources mémoire et CPU de chaque instance

Module Artillery : outil pour faire un test de charge

Installation :

npm install artillery -g

Utilisation :

artillery quick -d 10 -r 100 -n 20 http://127.0.0.1:8080

Sur 10s, 100 nouveaux utilisateurs par secondes qui vont faire 20 requêtes, soit 20 000 requêtes au total sur 10s.

Node.js : Module PM2 et Artillery

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *