使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS進程內存和CPU占用過高問題
一、前言
最近一段時間,網站經常出現兩個問題:
1.內存占用率一點點增高,直到將服務器內存占滿。
2.訪問某個頁面時,頁面響應過慢,CPU居高不下。
初步判斷內存一點點增多可能是因為有未釋放的資源一直在占用內存,而cpu居高不下可能是因為執行了耗時的操作。
下面我們就使用ANTS Performance Profiler和ANTS Memory Profiler這兩個工具來分析具體原因。
--------------------------------------------------------
工具下載地址:ANTS Performance Profiler 8 安裝包+激活工具+教程
官方文檔:https://documentation.red-gate.com/dashboard.action
需要注意的是:安裝完成后會有兩個工具,如下圖:
二、CPU分析
我們打開內存分析工具,如下:
點擊New profiling session 按鈕:
點擊Start profiling 按鈕結果如下:
從上圖授權的方法是最耗時也是請求最頻繁的方法,針對這種現象我們可以把用戶的權限放在session中從而減少連接數據庫的次數,進而提高性能
通過分析我們可以找出最耗時的方法,最耗時的請求URL,最耗時的sql語句,通過這些分析我們可以輕松找出程序的性能短板,從而有針對性的進行優化
三、內存分析
啟動內存分析工具:
點擊Start profiling 按鈕結果如下:
點擊Class list,我們可以看出哪些類型的數據占用的內存最高:
點擊上圖畫圈的地方如下:
雙擊上圖中的綠條,結果如下:
將圖放大到綠色的地方結果如下:
通過上述方法,我們可以找出需要改進的地方,針對性的進行優化