一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - .NET性能調優之一:ANTS Performance Profiler的使用介紹

.NET性能調優之一:ANTS Performance Profiler的使用介紹

2019-10-15 10:47cnblogs ASP.NET教程

本系列文章主要會介紹一些.NET性能調優的工具、Web性能優化的規則(如YSlow)及方法等等內容。成文前最不希望看到的就是園子里不間斷的“哪個語言好,哪個語言性能高”的爭論,不多說,真正的明白人都應該知道這樣的爭論有

在使用.NET進行快速地上手與開發出應用程序后,接下來面臨的問題可能就是程序性能調優方面的問題,而性能調優有時候會涉及方方面面的問題,如程序宿主系統、數據庫、網絡環境等等,而當程序異常龐大復雜的時候,性能調優將變得更加無從下手。

本系列文章主要會介紹一些.NET性能調優的工具、Web性能優化的規則(如YSlow)及方法等等內容。成文前最不希望看到的就是園子里不間斷的“哪個語言好,哪個語言性能高”的爭論,不多說,真正的明白人都應該知道這樣的爭論有沒有意義,希望我們能從實際性能優化的角度去討論問題。

ANTS Performance Profiler的基本使用

ANTS Performance Profiler是RedGate旗下強大的性能調優產品,官方產品頁面在這里。

先來看一下軟件的基本使用。

使用下面這段代碼進行簡單的測試。

這是一個控制臺應用程序,程序很簡單,先進行10000次循環,輸出和,再使用LINQ在list里找出1000的值輸出。

復制代碼代碼如下:

static void Main() 

var list = new List<int>(); 

var sum = 0; 
for (var i = 0; i < 10000; i++) 

sum += i; 
list.Add(i); 

Console.WriteLine(sum); 

//find the value use linq: 1000 
var result = list.Where(p => p.Equals(1000)); 
foreach (var i in result) 

Console.WriteLine(i); 

Console.ReadKey(); 
}


編譯程序后,啟動ANTS Performance Profiler,會自動彈出向導頁面,在此頁面中,可以看到軟件支持多種.NET程序的性能監控,如EXE、web、Windows Service等等。

 

而在Performace Counters中可以根據需要選擇多種計數器,IO、內存分配、處理器等等。

針對測試DEMO,選擇編譯后的exe文件路徑,因為剛才是debug編譯,所以選擇程序文件夾下\bin\Debug\里面的exe即可。

在Profiling Mode里可以選擇監控的級別,基本就是監控信息的多少與速度的權衡,默認選擇“最詳細”即可。其他的詳細設置可以參考幫助文檔。

點擊“Start Profiling”,啟動程序。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

分析結果的查看與分析

軟件的基本工作原理是在.NET編譯出的IL代碼里放入鉤子用來記錄時間,然后通過直觀的界面顯示出哪部分代碼耗能最大。所以這是性能調優最直接的方法,針對最耗時的代碼段進行優化即可。

點擊“Start Profiling”后啟動之前編譯的程序,軟件開始執行,如果是其他交互程序如winform、web等,操作完需要進行性能調優的功能后,在頂部的運行時間軸里用鼠標選定需要查看的時間段即可,一般有性能問題的時間段會出現一個波峰,選定那個時間段即可。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

選定后可以立即在下面的結果窗口中看到最耗時的方法,比如上面的DEMO,當然性能都消耗在了Main函數上。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

軟件提供了多種度量值查看性能損耗,有百分比和多種時間格式,這里選定“秒”作為度量單位。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

再選擇要查看的函數,軟件強大之處就顯現出來了。

右側的紅色標線,點擊可以快速定位到最耗能的代碼,顏色越深表示那段代碼越耗能。左側可以看到行號,此段代碼執行的次數(Hit Count),平均執行時間,總的執行時間,當然還可以同時看到代碼供分析使用。

至于DEMO里這段代碼為什么第一次執行Console.WriteLine如此耗能,我想如果你認真看了《CLR via C#》的第一章就應該能知道答案了。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

當然你還可以點擊層次結構圖標,查看更加直觀的性能損耗,就像下面這樣。

.NET性能調優之一:ANTS Performance Profiler的使用介紹

結語

ANTS Performance Profiler是我性能調優時最先使用也是最喜歡使用的工具,所以放在了第一篇文章里來分享給大家,希望能給各位帶來點幫助。

它非常的直觀、強大,因為手頭復雜的項目不適合用來做DEMO,所以只是寫了段簡單的代碼作演示,它的強大之處還待你真正遇到性能問題使用它時去好好體會。

文章有所疏漏和要補充的,請留言一起討論,也請關注后續的相關文章。

如果文章對你有點幫助,推薦一下吧,謝謝 :)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 扒开老师挠尿口到崩溃刑罚 | 国产精品videosse| 欧美办公室silkstocking | 啊好大好粗 | 青青青国产手机在线播放 | 色天天综合网色鬼综合 | 亚洲 欧美 国产 在线观看 | 无码欧美喷潮福利XXXX | 欧美一区二区三区四区五区六区 | 国产精品秒播无毒不卡 | avtt手机版| 日本96在线精品视频免费观看 | 色姑娘色综合 | 色哺乳妇hd | 国产精品自拍一区 | 精品久久香蕉国产线看观看麻豆 | 日韩一二三 | 9久热这里只有精品视频在线观看 | 亚洲冬月枫中文字幕在线看 | 青青草影院在线观看 | 天天草人人草 | 男人猛进猛出女人下面视频 | 国产成人www | 射西西| 2020国语对白露脸 | 国产精品极品美女自在线 | 女学生被老师调教在教室 | 国产激情影院 | 国产一区二区三区四区波多野结衣 | 亚洲国产精品久久精品怡红院 | 精品久久免费观看 | 国产精品久久久久久久牛牛 | 精品一区二区高清在线观看 | 亚洲免费在线看 | 魔法满屋免费观看完整版中文 | 私人chinese beauty | 无码国产成人午夜在线观看不卡 | 疯狂刺激的3p国产在线 | 成成人看片在线 | 成人性生交小说免费看 | 北海市副市长黄江老公 |