故障诊断

简介: 故障诊断

注意:

所有诊断操作请顺序执行。一个操作未完成时进行下一个操作会提示操作失败。文件页面转储按钮有效时表明操作已完成(诊断报告数秒可完成,堆快照根据堆大小可能数秒到数分钟,其他操作持续时间为 3 分钟)。

抓取性能数据

进入应用控制台,点击想查看的应用 实例 按钮,进入对应的实例即可查看 Node.js 性能平台提供的 抓取性能数据 功能,如下图所示:

一般来说,如果涉及到内存泄漏的,可以抓取 堆快照,如果是 CPU 异常飙高的,可以抓取 CPU Profile 数据,下面我们以一个 CPU 异常飙高和内存泄漏的例子来看下如何使用 Node.js 性能平台提供的故障诊断功能。

CPU 异常飙高

发生 CPU 异常飙高时,点击上图中的 CPU Profile 按钮,会在线生成三分钟的 CPU Profile 的日志文件,点击导航栏左侧的 文件 选项,即可看到刚才生成的 CPU Profile 文件,转储至云端后如下图所示:

Node.js 性能平台提供了两种分析 CPU Profile 的工具,下面逐一介绍:

火焰图

点击上图中的第一个 分析 按钮,则进入火焰图分析,如下图所示:

很明显,profiling 期间用户编写耗时比较大的函数为 test.js 中的 slow 函数,占据了整个 profiling 时长的 75.5%,所以接下来我们只要去对 slow 函数进行优化就可以了。

devtools

点击上图中的第二个 分析 按钮,则进入 devtools 分析,如下图所示:

同样,slow 函数执行耗费最久,显然需要优化

内存泄漏

发生内存泄漏时,点击第一节图中的 堆快照 按钮,会在线把当前进程的堆结构 dump 成文件,点击导航栏左侧的 文件 选项,即可看到刚才生成的堆快照文件,转储至云端后如下图所示:

同样提供了两种分析方式,下面逐一介绍:

MAT 分析

点击上图中的第一个 分析 按钮,则进入 MAT 分析,如下图所示:

可以看到,泄漏点是 test-alinode.js 文件中的一个 array 数组

devtools 分析

devtools 分析功能和 chrome 自带的体验一致,如下图所示:

更多案例

更多的实际项目中的检测案例请参见 最佳实践 一节

相关文章
|
1月前
|
机器学习/深度学习 存储 安全
YOLOv8火灾和烟雾检测
YOLOv8火灾和烟雾检测
|
1月前
光学雨量计自动化、高精度和实时监测降水量
光学雨量计是一种高精度测量降水量的理想解决方案。随着科技的进步,传统的雨量计存在一些局限性,如需要人工读取数据、易受环境影响等。而光学雨量计则利用光学原理,实现了自动化、高精度和实时监测降水量的功能。
光学雨量计自动化、高精度和实时监测降水量
|
1月前
|
监控 安全 算法
yolov8火灾报警检测和烟雾检测
yolov8火灾报警检测和烟雾检测
92 1
|
机器学习/深度学习 传感器 算法
【故障诊断】基于BP神经网络的电机数据特征提取与故障诊断软件设计附matlab代码
【故障诊断】基于BP神经网络的电机数据特征提取与故障诊断软件设计附matlab代码
|
11月前
|
机器学习/深度学习 传感器 运维
【轴承故障检测】滚动轴承中进行基于振动的故障诊断研究(Matlab代码实现)
【轴承故障检测】滚动轴承中进行基于振动的故障诊断研究(Matlab代码实现)
114 0
|
11月前
|
编解码 运维
【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)
【轴承故障诊断】用于轴承故障诊断的集中时频分析研究(Matlab代码实现)
135 0
|
8月前
|
物联网
变压器的介绍
一、工作原理 变压器的工作原理基于法拉第电磁感应定律和能量守恒定律。变压器由两个或多个线圈组成,其中一个线圈称为主线圈,另一个线圈称为副线圈。当主线圈中有交流电流通过时,它会产生一个交变磁场。这个交变磁场会穿过副线圈,从而在副线圈中诱导出电动势。根据法拉第电磁感应定律,副线圈中的电动势与主线圈中的电流成正比。 根据能量守恒定律,变压器的输入功率等于输出功率。因此,当主线圈中的电压和电流发生变化时,副线圈中的电压和电流也会相应地发生变化。通过改变主线圈和副线圈的匝数比例,可以实现电压的升降。当主线圈的匝数比副线圈的匝数大时,变压器为升压变压器;当主线圈的匝数比副线圈的匝数小时,变压器为降压变压器
39 0
|
10月前
|
芯片
网络变压器01
网络变压器01
|
10月前
|
机器学习/深度学习 算法
【故障诊断】基于冯洛伊曼拓扑的鲸鱼算法用于滚动轴承的故障诊断研究(Matlab代码实现)
【故障诊断】基于冯洛伊曼拓扑的鲸鱼算法用于滚动轴承的故障诊断研究(Matlab代码实现)
【故障诊断】基于冯洛伊曼拓扑的鲸鱼算法用于滚动轴承的故障诊断研究(Matlab代码实现)
|
11月前
|
算法 智能硬件
【非侵入式负荷监测】低采样率电动汽车充电的无训练非侵入式负荷监测(Matlab代码实现)
【非侵入式负荷监测】低采样率电动汽车充电的无训练非侵入式负荷监测(Matlab代码实现)

热门文章

最新文章