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