【问题标题】:Is there a way to monitor Node.JS applications performance? [closed]有没有办法监控 Node.JS 应用程序的性能? [关闭]
【发布时间】:2015-03-08 07:14:25
【问题描述】:
我是 Node.JS 的新手,想知道有没有办法监控性能并查看我的应用程序的瓶颈是什么以及大部分时间占用了哪个数据库事务,...
【问题讨论】:
标签:
javascript
node.js
profiling
【解决方案1】:
以下是有用的分析器,并且最广泛用于 Node.js
Google 的 V8 具有内置的基于样本的分析。分析默认关闭,但可以通过 --prof 命令行选项启用。采样器记录 JavaScript 和 C/C++ 代码的堆栈,大部分通过管道传输到日志文件中。 V8 附带的 Linux 滴答处理器脚本可用于分析样本,以确定 CPU 时间是在操作系统级库还是在应用程序本身消耗。还提供了有限的排序。
下面的链接会让你更好地理解
Profile your web application with V8’s internal profiler
客户端 CPU 分析
内部分析器也作为 Chrome 开发工具 的一部分提供,可让您在 JavaScript 控制台中收集和分析应用程序的 CPU 配置文件。但是,这仅适用于客户端分析。
用于服务器端分析
服务器端 CPU 分析
StrongLoop 对 V8 分析器进行了扩展,可在任何时间点以集群模式和非集群模式跨任何应用程序进程提供深度诊断和可视化快照。以一个节点应用程序为例,它作为一个主、两个工作进程集群运行。让我们启动应用程序,给它一些负载并运行分析器。
启动集群
这里我们使用带有集群选项的 slc run 命令并指定要附加的 CPU 核心数。
加载!
通过使用 Jmeter 脚本在集群应用程序上模拟 100 个同时用户。我们将采用理想情况,每个应用程序实例/CPU 内核处理 50 个用户的工作负载。