最近遇到了一個問題,我有一個站台,在某些機器,CPU 會飆到 20% 上下,由於是要診斷遠端服務於是派出 jetbrains dotTrace Profiler 來幫幫我
https://www.jetbrains.com/profiler/features/
前置作業
安裝 dotTrace
https://www.jetbrains.com/profiler/?fromMenu
足夠的記憶體
分析遠端服務
dotTrace RenoteAgent 是一隻 WCF 的應用程式,要透過它來蒐集目標電腦的資訊,要用這種方式蒐集,就必須要有目標電腦的權限
@遠端目標電腦
在本地端執行 dotTrace 把下圖的檔案解壓縮,放到遠端目標電腦
- 在遠端目標電腦,用管理員權限執行 dotTrace RemoteAgent
- 在遠端目標電腦,開啟防火牆,9100 port
@本地端目標電腦
輸入遠端 Agent 位置
Attach 想要分析的 Application Pool
Timeline 能得到較多的資訊,比如 SQL Query
準備開始
看到下面畫面,它已經在蒐集資料了,你可以先操作一下你的網站再按下 Get Snapshot and Wait
等待中...
有警告訊息,沒關係,這不影響我們要看的東西,打開 Snapshot
報表
通通在一頁,然後再選擇你想要看的內容
選擇執行序
看不到 Code 是因為沒有符號表跟原始碼
選擇時間軸
深深覺得 ANTS Performance Profiler 功能還有介面做的比較好
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET