## 性能測試工具
> * 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。