ASP.NET MVC5使用MiniProfiler監(jiān)控MVC性能
MiniProfiler ,一個(gè)簡(jiǎn)單而有效的迷你剖析器,可以有效的實(shí)時(shí)監(jiān)控頁(yè)面。通過(guò)直接引用、Ajax、Iframe形式訪問(wèn)的其它頁(yè)面進(jìn)行監(jiān)控,監(jiān)控內(nèi)容包括數(shù)據(jù)庫(kù)內(nèi)容,并可以顯示數(shù)據(jù)庫(kù)訪問(wèn)的SQL。
1.安裝
首先新建一個(gè) asp.net mvc 項(xiàng)目
右鍵項(xiàng)目,管理NuGet程序包。 安裝 MiniProfiler.Mvc4和MiniProfiler
ps:MiniProfiler.MVC4的NuGet包(該MVC4包支持MVC5)
或者也可以打開程序包管理控制臺(tái) 輸入命令進(jìn)行安裝
Install-Package MiniProfiler -Version 3.2.0.157
Install-Package MiniProfiler.Mvc4 -Version 3.0.11
2.將以下內(nèi)容添加到Application_Start()Global.asax中
protected void Application_Start() { ... GlobalFilters.Filters.Add(new ProfilingActionFilter()); var copy = ViewEngines.Engines.ToList(); ViewEngines.Engines.Clear(); foreach (var item in copy) { ViewEngines.Engines.Add(new ProfilingViewEngine(item)); } }
3.將以下內(nèi)容添加到“Application_BeginRequest()”和“Application_EndRequest()”,也在Global.asax中
protected void Application_BeginRequest() { if (Request.IsLocal) { MiniProfiler.Start(); } } protected void Application_EndRequest() { MiniProfiler.Stop(); }
4.將以下內(nèi)容添加到_Layout.cshtml(就在</body>標(biāo)簽之前):
@StackExchange.Profiling.MiniProfiler.RenderIncludes() </body> </html>
5.將以下內(nèi)容添加到<handlers>Web.config 的部分中:
<system.webServer> ... <handlers> ... <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> ... </handlers> </system.webServer>
如果你在項(xiàng)目中使用了Entity Framework ,那么你可以安裝MiniProfiler.EF6軟件包,在Application_Start()在Global.asax 結(jié)尾添加了以下內(nèi)容: MiniProfilerEF6.Initialize();
一個(gè)簡(jiǎn)單的對(duì)MVC性能的監(jiān)控就這樣了,其實(shí)他還有很多功能,比如說(shuō)能夠通過(guò)不同的參數(shù)檢測(cè)并突出顯示執(zhí)行相同查詢的區(qū)域。這樣您就可以快速找到可能批量的查詢。
還可以記錄所有的ajax的調(diào)用,查看最近100個(gè)分析請(qǐng)求的分析信息等。
結(jié)果展示:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- .NET?Core跨平臺(tái)資源監(jiān)控工具CZGL.SystemInfo用法
- .NET程序性能監(jiān)控系統(tǒng)Elastic?AMP的使用方法
- .Net中異步任務(wù)的取消和監(jiān)控的具體實(shí)現(xiàn)
- 使用?HttpReports?監(jiān)控?.NET?Core?應(yīng)用程序的方法
- 使用NLog給Asp.Net Core做請(qǐng)求監(jiān)控的方法
- Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控
- CZGL.ProcessMetrics監(jiān)控.NET應(yīng)用
相關(guān)文章
C# 無(wú)限級(jí)分類的實(shí)現(xiàn)
采用存儲(chǔ)過(guò)程實(shí)現(xiàn)遞歸邏輯,直接返回子分類列表的方式應(yīng)該有更好的性能,尤其是Web服務(wù)器與數(shù)據(jù)庫(kù)服務(wù)器不位于同一臺(tái)服務(wù)器上時(shí),更會(huì)受網(wǎng)絡(luò)影響。2009-02-02ASP.NET MVC 4 中的JSON數(shù)據(jù)交互的方法
本篇文章主要介紹了ASP.NET MVC 4 中的JSON數(shù)據(jù)交互的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04ASP.NET網(wǎng)站實(shí)時(shí)顯示時(shí)間的方法
這篇文章主要介紹了ASP.NET網(wǎng)站實(shí)時(shí)顯示時(shí)間的方法,主要通過(guò)AJAX控件來(lái)實(shí)現(xiàn)該功能,是非常具有實(shí)用價(jià)值的技巧,需要的朋友可以參考下2014-11-11.Net彈性和瞬態(tài)故障處理庫(kù)Polly實(shí)現(xiàn)執(zhí)行策略
這篇文章介紹了.Net彈性和瞬態(tài)故障處理庫(kù)Polly實(shí)現(xiàn)執(zhí)行策略的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06ASP.NET基于Ajax的Enter鍵提交問(wèn)題分析
這篇文章主要介紹了ASP.NET基于Ajax的Enter鍵提交,結(jié)合實(shí)例形式分析了asp.net基于ajax響應(yīng)Enter鍵的提交方法與相關(guān)問(wèn)題解決技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11異步 HttpContext.Current實(shí)現(xiàn)取值的方法(解決異步Application,Session,Cache.
在一個(gè)項(xiàng)目中,為了系統(tǒng)執(zhí)行效率更快,把一個(gè)經(jīng)常用到的數(shù)據(jù)庫(kù)表通過(guò)dataset放到Application中,發(fā)現(xiàn)在異步實(shí)現(xiàn)中每一次都會(huì)出現(xiàn)HttpContext.Current為null的異常,后來(lái)在網(wǎng)上查了好多資料,發(fā)現(xiàn)問(wèn)這個(gè)問(wèn)題的人多,回答的少2009-07-07MVC+EasyUI+三層新聞網(wǎng)站建立 后臺(tái)登錄界面的搭建(二)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第二篇,教大家如何搭建后臺(tái)登錄界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07