摘要: 使用Easy-Monitor,能够准肯定位Node.js应用的性能瓶颈,帮助咱们优化代码性能。javascript
当应用出现性能问题时,最大的问题在于:**如何准肯定位形成性能瓶颈的代码呢?**对于Node.js开发者,这里推荐一下Easy-Monitor,它应该是阿里巴巴某个90后程序员开发的。这个NPM模块能够帮助咱们快速定位性能瓶颈。html
当负载较高时,某个后端模块的响应时间慢了不少,甚至出现超时错误"504 Gateway Time"。经过查看监控可知,这个模块在高峰期的CPU使用量是满负荷的,这有多是问题所在。java
接入Easy-Monitor很是简单,在入口js文件中导入便可:node
if (process.env.NODE_ENV === "development")
{
const easyMonitor = require("easy-monitor");
easyMonitor("backend");
}
复制代码
启动应用,访问:http://localhost:12333/index,便可查看Easy-Monitor的UI界面:git
**ab**命令能够用于进行压力测试程序员
ab -n 1000 -c 10 -T 'application/json' -p data.json http://localhost:3000/data/
复制代码
运行ab测试的同时,在easy-monitor界面,选择cpu,而后start。easy-monitor就会默默地采集CPU数据,5分钟以后,就能够看到统计结果:github
使用Fundebug,阔以及时发现并修复应用错误,赶忙免费试用吧!!!apache
由Easy-Monitor的统计结果可知,函数A是性能瓶颈,消耗了最多的CPU时间。json
那么,剩下的工做就很是简单了,对函数A进行性能优化便可。通过分析,函数A进行了大量重复计算,增长2行代码就能够大大地优化其性能。具体细节再也不赘述,由于不是本文重点。后端
根据ab命令的测试结果,优化前平均每秒处理5.36个,优化后这个数字变成了48.35,是以前的9倍。将这个模块部署以后,服务器的CPU使用率大幅降低,接口的响应时间也恢复了正常。
使用Easy-Monitor,能够将性能瓶颈准肯定位到某些函数,而后进行针对性的优化,这样能够帮助咱们快速修复性能问题。