NewRelic 是一个老牌的应用性能监测工具,提供 14 天免费试用,本节将讲解如何使用 NewRelic 监控 Node.js 程序的性能。
测试代码如下:
app.js
require('newrelic') const crypto = require('crypto') const express = require('express') const app = express() const createUser = require('./routes/users').createUser app.get('/', (req, res) => { const salt = crypto.randomBytes(128).toString('base64') const hash = crypto.pbkdf2Sync(String(Math.random()), salt, 10000, 512, 'sha512').toString('hex') res.json({ salt, hash }) }) app.get('/error', (req, res, next) => { next(new Error('error!!!')) }) app.post('/users/:user', async (req, res) => { const user = await createUser(req.params.user, 18) res.json(user) }) app.listen(3000)
routes/users.js
const Mongolass = require('mongolass') const mongolass = new Mongolass('mongodb://localhost:27017/test') const User = mongolass.model('User') exports.createUser = async function (ctx) { const name = ctx.query.name || 'default' const age = +ctx.query.age || 18 const user = await createUser(name, age) ctx.status = user } async function createUser (name, age) { const user = (await User.create({ name, age })).ops[0] return user }
首先,注册一个 NewRelic 账号。创建一个应用,如下所示:
选择 APM,进入下一步,选择 Node.js 应用,并拿到 license key:
在 Node.js 中使用 NewRelic 的步骤如下:
$ npm i newrelic --save # 安装 NewRelic 的 Node.js SDK $ cp node_modules/newrelic/newrelic.js . # 将默认配置文件拷贝到项目根目录下
修改 newrelic.js,app_name 填写我们的应用名(例如:api),license_key 填写刚才生成的 license key。
启动测试程序,并发起几个请求,稍等几分钟,NewRelic 的后台将会收到并展示一些数据(例如:吞吐量,请求的 Urls,错误率、Apdex score 等),如下所示:
试用版的功能有限,升级到付费版可解锁更多功能,例如:数据库分析、错误分析甚至 Node.js VM 监控(CPU、内存、GC、Event Loop)等等。
类似的其他 APM 有:
用法大同小异,这里就不一一介绍了。
上一节:4.5 supervisor-hot-reload
下一节:5.2 Elastic APM
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8