![cd3083ea-152f-eb11-8da9-e4434bdf6706.png](http://p05.5ceimg.com/content/cd3083ea-152f-eb11-8da9-e4434bdf6706.png)
前言
这是性能测试篇的第一篇,主要讲解如何通过v8-profiler和Chrome开发者工具中的JavaScript Profiler分析Node应用的CPU性能。
案例分析
由于我日常工作中接触到的Node框架是egg.js,所以下面的代码是在该框架下写的,其实具体用什么框架并不重要,重要的是分析问题的思路。OK,让我们首先看一下具体的代码。
![cf3083ea-152f-eb11-8da9-e4434bdf6706.png](http://p04.5ceimg.com/content/cf3083ea-152f-eb11-8da9-e4434bdf6706.png)
从图中我们可以看到controller目录下有一个home.js文件,该文件下有一个HomeController类,这个类里面有两个方法:createUser和profile。createUser这个方法用crypto.pbkdf2Sync对password进行加密,然后保存在users这个全局对象中;profile这个方法利用v8-profiler收集CPU运行时的信息,并保存到test.cupprofile文件中。
具体如何使用v8-profiler,请参考:https://github.com/node-inspector/v8-profiler