阿里 Node.js 性能平台

我的安装版本

  • node - v10.15.2
  • agenthub - v2.0.1
  • tnvm - v1.x
  • alinode-v4.7.1

1. 创建应用

前往 Node.js性能平台控制台 node.console.aliyun.com/ 创建新应用 输入应用名 demo ,记录下 App ID 和 App Secret ,后面可以从应用界面的 设置 中查看该设置

2. 服务器部署 Node.js 性能平台

a. 安装 Node.js 性能平台所需组件

查看node版本对应的alinode版本

# 安装版本管理工具 tnvm,安装过程出错参考:https://github.com/aliyun-node/tnvm
wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash
source ~/.bashrc
# tnvm ls-remote alinode 查看需要的版本
tnvm install alinode-v4.7.1 # 安装需要的版本 因为我node是v10.15.2 所以我选择了 4.7.1
tnvm use alinode-v4.7.1 # 使用需要的版本
npm install @alicloud/agenthub -g # 安装 agenthub
复制代码
  • 验证安装是否成功,需要确保which node 和which agenthub的路径中包括.tnvm即可。
root@ww:~# which node
/root/.tnvm/versions/alinode/v3.11.4/bin/node
root@ww:~# which agenthub 
/root/.tnvm/versions/alinode/v3.11.4/bin/agenthub
复制代码
  • 将创建新应用中获得的App ID 和 App Secret 按如下所示保存为 config.json。
{
  "appid": "12345",                          # 前面申请到的 appid,保存时删掉这条注释。
  "secret": "kflajglkajlgjalsgjlajdgfakjkgj" # 前面申请到的 secret,保存时删掉这条注释。
}

{
  "appid": "12345",                          # 前面申请到的 appid,保存时删掉这条注释。
  "secret": "kflajglkajlgjalsgjlajdgfakjkgj" # 前面申请到的 secret,保存时删掉这条注释。
  "logdir": "/tmp",
  "error_log": [
    "/agenthub/log/error"
  ],
  "packages": [
    "/ww/prod/server/package.json"
  ],
  "disks": [
    "/ww/prod/server"
  ]
}
复制代码
  • error_log 配置完成后您可以在 Node.js 性能平台上看到规整后的错误日志信息;
  • packages 配置完成后您可以看到项目的版本依赖,以及对应的安全风险提示;
  • disks 配置需要监控的磁盘,可以在系统监控监控数据查看;

b. 启动 agenthub

agenthub start yourconfig.json
# 通过 agenthub list 查看 agenthub 是否启动成功
# 通过 agenthub stop xxx 可以删除
# 如果没有 agenthub 实例,通过调试模式启动 agenthub:
# DEBUG=* agenthub start yourconfig.json
# ~/.agenthub.log 查看 agenthub 日志。
复制代码

c. 启动应用

# 直接启动应用
ENABLE_NODE_LOG=YES node server.js
# 使用pm2管理的应用
ENABLE_NODE_LOG=YES pm2 start server.js
复制代码

注意:

若出现提示信息 Environment variable <NODE_LOG_DIR> not configured, </tmp/> will be used to record node internal log.表明运行时日志(非应用日志)存储目录是默认的 /tmp/。

III. 通过控制台观察监控数据,执行诊断操作 在 控制台 中观察各个监控信息 Node.js进程数据中查看进程级别的数据

按照上面配置完可以去 阿里node平台查看 下面选项是否都打勾

如果 alinode 进程版本号是✘ 可以查看下

  • 验证安装是否成功,需要确保which node 和which agenthub的路径中包括.tnvm即可。
root@ww:~# which node
/root/.tnvm/versions/alinode/v3.11.4/bin/node
root@ww:~# which agenthub 
/root/.tnvm/versions/alinode/v3.11.4/bin/agenthub
复制代码

如果 which node 显示错误 需要执行下面命令

tnvm use alinode-v4.7.1 # 使用需要的版本
再关闭 pm2 delete aaa
再打开 ENABLE_NODE_LOG=YES pm2 start server.js --name=aaa
一般就行了
复制代码

一切准备就绪,准备开始调试,

像我用这玩意的目的是因为我服务器的cpu会概率性爆掉,一直找不到原因

所以上来我需要看cpu profile

然后到下面

  • 他会有三分钟的生成中过程,期间他会检测cpu
  • 在这三分钟赶紧点击app触发cpu爆满
  • 然后分析吧,他会告诉你是哪个js 哪一行导致的

火焰图,cpuprofile文档,自己去找吧。

转载于:https://juejin.im/post/5cef395fe51d45109725fe06

猜你喜欢

转载自blog.csdn.net/weixin_33757911/article/details/91421246