- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
High CPU usage Nodejs Agent on linux

We embed the appdynamic nodejs agent in our nodejs service.
When disable appdynamics function, with 90 tps, our nodejs service CPU usage is 40%.
When enable appdynamics function, with 90 tps, our nodejs service CPU usage is 60%.
After follow the optimize steps from https://community.appdynamics.com/t5/Knowledge-Base/How-do-I-troubleshoot-high-CPU-usage/ta-p/23266, CPU usage still 60%, not any approvement!
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jesseka,
For Node.js, it is usually process snapshots which lead to the CPU overhead. You can find the settings to tweak this in this document: https://docs.appdynamics.com/display/PRO45/Node.js+Settings+Reference
-
maxProcessSnapshotsPerPeriod
: Optional. The default is2
. The number of automatic process snapshots allowed in processSnapshotCountResetPeriodSeconds seconds. -
processSnapshotCountResetPeriodSeconds
: Optional, defaults to60
. Frequency, in seconds, at which the automatic process snapshot count is reset to 0. autoSnapshotDurationSeconds
: Optional, defaults to 10. Length, in seconds, of automatically-triggered process snapshots.
Regards,
Kyle
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Hi Kyle,
Thanks for the reply!
We have tried adjust the three paramters(autoSnapshotDurationSeconds, processSnapshotCountResetPeriodSeconds, maxProcessSnapshotsPerPeriod), even set the alwaysAddEumMetadataInHttpHeaders to false for test, but still get the same result of high CPU usage .
Here is our Nodejs test code,
const appdynamics= require("appdynamics");
appdynamics.profile({
controllerHostName: appdynamicsConf.controllerHostName,
controllerPort: appdynamicsConf.controllerPort,
controllerSslEnabled: appdynamicsConf.controllerSslEnabled,
accountName: appdynamicsConf.accountName,
accountAccessKey: appdynamicsConf.accountAccessKey,
applicationName: appdynamicsConf.applicationName,
autoSnapshotDurationSeconds: 60,
processSnapshotCountResetPeriodSeconds: 120,
maxProcessSnapshotsPerPeriod: 1,
alwaysAddEumMetadataInHttpHeaders: false,
tierName: appdynamicsConf.tierName,
nodeName: os.hostname()
});
Regards!
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thanks!
We have tested the follow four scenarios with 90 tps , still get the same result.
scenarios 1: AppDynamics is disabled ---- nodejs agent CPU used 41%
scenarios 2: AppDynamics is enabled with default setting (processSnapshotCountResetPeriodSeconds: 60, maxProcessSnapshotsPerPeriod: 2, autoSnapshotDurationSeconds: 10 ) ---- nodejs agent CPU used 57%
scenarios 3: AppDynamics is enabled with special setting, (processSnapshotCountResetPeriodSeconds: 60, maxProcessSnapshotsPerPeriod: 10, autoSnapshotDurationSeconds: 6 ) ---- nodejs agent CPU used 61%
scenarios 4: AppDynamics is enabled with special setting (processSnapshotCountResetPeriodSeconds: 120, maxProcessSnapshotsPerPeriod: 1, autoSnapshotDurationSeconds: 10 ) --- nodejs agent CPU used 56%
regards!
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there any resolution for this?
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

