🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 性能测试工具 > * js性能优化和内存泄露问题及检测分析工具 > > > * 性能优化ajax工具`diviefirebug` > * [web性能分析工具YSlow](http://developer.yahoo.com/yslow/ "Google") > * `performance`性能评估打分,右击箭头可看到改进建议。 > * `stats`缓存状态分析,传输内容分析。 > * `components`所有加载内容分析,可以查看传输速度,找出页面访问慢的瓶颈。 > * `tools`可以查看js和css,并打印页面评估报告。 > * 内存泄露检测工具`sIEve` > * `sIEve`是基于`IE`的内存泄露检测工具,需要下载运行,可以查看dom孤立节点和内存泄露及内存使用情况。 > > 1. 列出当前页面内所有dom节点的基本信息(html id style 等) > > 2. 页面内所有dom节点的高级信息 (内存占用,数量,节点的引用) > > 3. 可以查找出页面中的孤立节点 > > 4. 可以查找出页面中的循环引用 > > 5. 可以查找出页面中产生内存泄露的节点 > * 内存泄露提示工具`leak monitor` > * `leak monitor`在安装后,当离开一个页面时,比如关闭窗口,如果页面有内存泄露,会弹出一个文本框进行即时提示。 > * 代码压缩工具 > > > * YUI压缩工具 > * Dean Edwards Packer > * JSMin > * `Blink/Webkit`浏览器 > * 在`Blink/Webkit`浏览器中(`Chrome`, `Safari`, `Opera`),我们可以借助其中的`Developer Tools`的`Profiles`工具来对我们的程序进行内存检查。 > > > > ~~~ > Developer Tools - Profiles > ~~~ > > > * `Node.js`中的内存检查 > > > * 在`Node.js`中,我们可以使用`node-heapdump`和`node-memwatch`模块进​​行内存检查。 > > > > ~~~ > var heapdump = require('heapdump'); > var fs = require('fs'); > var path = require('path'); > fs.writeFileSync(path.join(__dirname, 'app.pid'), process.pid); > ~~~ > > > > 在业务代码中引入`node-heapdump`之后,我们需要在某个运行时期,向`Node.js`进程发送`SIGUSR2`信号,让`node-heapdump`抓拍一份堆内存的快照。 > > > > ~~~ > $ kill -USR2 (cat app.pid) > ~~~ > > > > 这样在文件目录下会有一个以`heapdump-<sec>.<usec>.heapsnapshot`格式命名的快照文件,我们可以使用浏览器的`Developer Tools`中的`Profiles`工具将其打开,并进行检查。 > > > * 分析浏览器提供的Waterfall图片来思考优化入口。 > * 新的测试手段(Navigation, Resource, 和User timing。