1. 前言
看園子裡面講
dotTrace
的文章不多,最近也有這方面的需要,于是去搜尋了一下,.NET 性能分析方面的工具。目的呢,主要是想發現我的代碼中,哪些代碼占用了最多時間,來進行優化。主要有兩個工具,一個是
Visual-Studio 2017
自帶的
Performance Profiler
還有一個就是
DotTrace
。
兩者大概長成如下這樣:首先是
Performance Profiler
Performance Profiler
以及
DotTrace
DotTrace
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
就開始了
3.2 根據控制台上的位址打開網址
啟動時就會出現下面的這樣一個控制台。
3.3 在網頁上操作你所要測試的方法。
現在
Get Snapshot and Wait
是灰色的,因為我已經操作完成了,當你操作完成後,點選
Get Snapshot and Wait
然後就會生成一個分析報告了。
報告長得就是如下樣子:
想要看到具體哪個方法調用了最多時間,點選左側第四個
Hot Spots
,然後就可以看到我上面的圖了,右側還可以顯示,IL 解析前後的代碼。非常友善。
上面那幅圖官方的一個解釋可供參考:
參考連結
- https://www.jetbrains.com/help/profiler/Get_Started_with_Performance_Viewer.html