Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Page de statistiques des machines virtuelles Node.js
Dans APM de New Relic, la page Node VMs fournit des données d'exécution utiles pour résoudre les problèmes de performances de dépannage et monitoring l'état de santé de votre application.
Afficher les statistiques de la machine virtuelle Node.js
one.newrelic.com > All capabilities > APM & services > (select an app) > Node VMs: Lorsque plusieurs serveurs communiquent avec la même application, la page décompose les graphiques par serveur. Vous pouvez afficher les données d'un serveur individuel et obtenir des détails supplémentaires en sélectionnant un serveur à partir du filtre Servers en haut de la page.
Pour corréler les pics ou les tendances à la hausse de l'une de ces mesures avec des transactions spécifiques :
Voici un résumé des données disponibles sur les graphiques Node VMs individuels. En utilisant tous les graphiques ensemble, vous pouvez résoudre les problèmes de performances. Par exemple:
Lorsque l'application commence à utiliser plus d'objets, l'utilisation de la mémoire augmente et le garbage collection (GC) s'exécute plus fréquemment. L'utilisation du processeur augmentera en raison du temps passé dans GC.
Une exécution de code synchrone anormalement longue peut augmenter l’utilisation du processeur. Cela affichera des pics dans le graphique Event loop max CPU time per tick .
Le temps passé à collecter les déchets. Pour un seul serveur, le graphique affiche le temps moyen, maximum et total par minute. Pour plusieurs serveurs, le graphique affiche le temps total regroupé par serveur.
En règle générale, les pics de temps ou de fréquence de GC indiquent un problème potentiel.
Le nombre de fois que les exécutions GC ont été exécutées par minute. Pour un seul serveur, le graphique est décomposé par type de GC. Pour plusieurs serveurs, le graphique affiche le nombre total d'appels GC (tous types combinés) regroupés par serveur.
Ce graphique montre le temps total passé dans le ramassage des déchets par minute, réparti par type de GC. Il n'est affiché que lors de la visualisation d'un seul serveur. Vous pouvez voir les types suivants en fonction de votre version de Node.js et de l'activité de l'application :
Value
Description
Scavenge
La méthode de collecte des déchets la plus courante. Node.js déclenche généralement l'un d'entre eux à chaque fois que la machine virtuelle est inactive.
MarkSweepCompact
Le type de collecte des déchets le plus lourd que V8 puisse faire. Si vous constatez que beaucoup de ces événements se produisent, vous devrez soit conserver moins d'objets dans votre processus, soit augmenter la limite de tas de V8.
IncrementalMarking
Une collecte des déchets par phases qui entrelace la collecte avec la logique d'application pour réduire la durée de pause de l'application. Uniquement dans Node.js v6 ou supérieur.
ProcessWeakCallbacks
Une fois qu'une collecte des déchets a lieu, V8 appellera tout rappel de référence faible enregistré pour les objets qui ont été libérés. Cette mesure s'étend du début du premier rappel faible à la fin du dernier pour un ramasse-miettes donné. Uniquement dans Node.js v6 ou supérieur.
Ce graphique montre la quantité de mémoire consommée par le processus Node.js. Pour plusieurs serveurs, le graphique affiche la mémoire totale regroupée par serveur. Pour un seul serveur, le graphique est segmenté selon les types de mémoire suivants :
Value
Description
Non-tas
La mémoire allouée aux données en dehors du tas de V8 (par exemple, les tampons, les sockets).
V8 heap (utilisé)
La quantité de mémoire utilisée par V8 (par exemple, les objets JavaScript).
Tas V8 (gratuit)
La quantité de mémoire réservée par V8 pour la mise en pool de mémoire. Cette mémoire n'est pas utilisée activement, mais est mise de côté pour que V8 puisse en allouer librement davantage selon les besoins.
Ce graphique montre l'utilisation du processeur du processus Node.js.
Pour plusieurs serveurs, le graphique affiche l'utilisation totale du processeur regroupée par serveur. Pour un seul serveur, le graphique est segmenté comme suit :
Value
Description
Utilisateur
Le temps passé à exécuter le code utilisateur, divisé par le temps horloge.
Système
Le temps passé dans le noyau système pour le compte du processus Node.js, divisé par temps horloge.
Ce graphique montre le nombre de ticks de boucle d'événement par minute. Un tick est un tour unique de la boucle événement, dans lequel les fonctions prêtes à être exécutées sont exécutées.
Dans le cadre de chaque tour de boucle d'événement, Node.js attend que I/O en attente soient terminées. Une fois qu'un événement I/O est reçu, la boucle d'événement exécute le rappel qui lui est associé. Par conséquent, le nombre de ticks par minute correspond à la fréquence à laquelle les événements I/O se produisent.
Ce graphique montre le temps maximum passé dans un seul tick par minute. Ceci est utile pour détecter une boucle d'événement anormalement longue, ce qui indique une longue exécution de code synchrone.
Afficher un groupe de plusieurs processus
Lorsque plusieurs processus Node.js sur le même serveur font rapport à la même application New Relic, ces graphiques afficheront des données agrégées. Cela est dû au fait que chaque processus de travail d’un cluster possède son propre environnement d’exécution Node.js distinct et collecte des données distinctes.
Clusters
Comments
Somme de tous les travailleurs
Les graphiques suivants montrent une somme pour tous les travailleurs :
Temps de pause GC - Temps total par minute
Fréquence de pause GC
Temps de pause GC par type
Utilisation du processeur
Boucle d'événement ticks par minute
Moyenne de tous les travailleurs
Les graphiques suivants montrent une moyenne de tous les travailleurs :
Utilisation de la mémoire
Temps de pause GC — moyen
Max pour tous les travailleurs
Les graphiques suivants montrent le maximum pour tous les travailleurs :