1. 前言
看園子裡面講
dotTrace
的文章不多,最近也有這方面的需要,于是去搜尋了一下,.NET 性能分析方面的工具。目的呢,主要是想發現我的代碼中,哪些代碼占用了最多時間,來進行優化。主要有兩個工具,一個是
Visual-Studio 2017
自帶的
Performance Profiler
還有一個就是
DotTrace
。
兩者大概長成如下這樣:首先是
Performance Profiler
Performance Profiler![]()
用DotTrace 來分析.NET-Core程式
以及
DotTrace
DotTrace![]()
用DotTrace 來分析.NET-Core程式
Visual Studio
的那個用不怎麼來,接下來就介紹一下
DotTrace
的基本使用分析。
2. DotTrace 基本介紹
dotTrace is arguably the most convenient tool for .NET performance profiling.
dotTrace lets you find performance bottlenecks in a variety of .NET applications, including applications based on .NET Framework up to the version 4.6 and Silverlight 5.
看到官網上這麼吹一波,感覺你可以去試試它到底怎麼樣,幫你找到性能瓶頸。。。
3. 具體使用
我們的目的很明确, 想知道一個功能它裡面最占用時間的是哪個具體的方法。
其實他的作用很多,但我們這次隻使用一小點。
操作步驟:
3.1 選擇你所要分析的具體.NET-Core 程式
在下圖右側的
Application
中,選擇你
Web
的
XXX.dll
,然後點選
Run
就開始了
![]()
用DotTrace 來分析.NET-Core程式
3.2 根據控制台上的位址打開網址
啟動時就會出現下面的這樣一個控制台。
![]()
用DotTrace 來分析.NET-Core程式
3.3 在網頁上操作你所要測試的方法。
![]()
用DotTrace 來分析.NET-Core程式
現在
Get Snapshot and Wait
是灰色的,因為我已經操作完成了,當你操作完成後,點選
Get Snapshot and Wait
然後就會生成一個分析報告了。
報告長得就是如下樣子:
想要看到具體哪個方法調用了最多時間,點選左側第四個
Hot Spots
,然後就可以看到我上面的圖了,右側還可以顯示,IL 解析前後的代碼。非常友善。
上面那幅圖官方的一個解釋可供參考:
參考連結
- https://www.jetbrains.com/help/profiler/Get_Started_with_Performance_Viewer.html