日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

故障診斷

注意:

所有診斷操作請順序執行。一個操作未完成時進行下一個操作會提示操作失敗。文件頁面轉儲按鈕有效時表明操作已完成(診斷報告數秒可完成,堆快照根據堆大小可能數秒到數分鐘,其他操作持續時間為 3 分鐘)。

抓取性能數據

進入應用控制臺,點擊想查看的應用 實例 按鈕,進入對應的實例即可查看 Node.js 性能平臺提供的 抓取性能數據 功能,如下圖所示:

performance

一般來說,如果涉及到內存泄漏的,可以抓取 堆快照,如果是 CPU 異常飆高的,可以抓取 CPU Profile 數據,下面我們以一個 CPU 異常飆高和內存泄漏的例子來看下如何使用 Node.js 性能平臺提供的故障診斷功能。

CPU 異常飆高

發生 CPU 異常飆高時,點擊上圖中的 CPU Profile 按鈕,會在線生成三分鐘的 CPU Profile 的日志文件,點擊導航欄左側的 文件 選項,即可看到剛才生成的 CPU Profile 文件,轉儲至云端后如下圖所示:

cpu

Node.js 性能平臺提供了兩種分析 CPU Profile 的工具,下面逐一介紹:

火焰圖

點擊上圖中的第一個 分析 按鈕,則進入火焰圖分析,如下圖所示:

flame

很明顯,profiling 期間用戶編寫耗時比較大的函數為 test.js 中的 slow 函數,占據了整個 profiling 時長的 75.5%,所以接下來我們只要去對 slow 函數進行優化就可以了。

devtools

點擊上圖中的第二個 分析 按鈕,則進入 devtools 分析,如下圖所示:

dev

同樣,slow 函數執行耗費最久,顯然需要優化

內存泄漏

發生內存泄漏時,點擊第一節圖中的 堆快照 按鈕,會在線把當前進程的堆結構 dump 成文件,點擊導航欄左側的 文件 選項,即可看到剛才生成的堆快照文件,轉儲至云端后如下圖所示:

mem

同樣提供了兩種分析方式,下面逐一介紹:

MAT 分析

點擊上圖中的第一個 分析 按鈕,則進入 MAT 分析,如下圖所示:

mem-m

可以看到,泄漏點是 test-alinode.js 文件中的一個 array 數組

devtools 分析

devtools 分析功能和 chrome 自帶的體驗一致,如下圖所示:

mem-d

更多案例

更多的實際項目中的檢測案例請參見 最佳實踐 一節