ASP.NET MVC5使用MiniProfiler監(jiān)控MVC性能
MiniProfiler ,一個(gè)簡(jiǎn)單而有效的迷你剖析器,可以有效的實(shí)時(shí)監(jiān)控頁(yè)面。通過(guò)直接引用、Ajax、Iframe形式訪(fǎng)問(wèn)的其它頁(yè)面進(jìn)行監(jiān)控,監(jiān)控內(nèi)容包括數(shù)據(jù)庫(kù)內(nèi)容,并可以顯示數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的SQL。
1.安裝
首先新建一個(gè) asp.net mvc 項(xiàng)目
右鍵項(xiàng)目,管理NuGet程序包。 安裝 MiniProfiler.Mvc4和MiniProfiler
ps:MiniProfiler.MVC4的NuGet包(該MVC4包支持MVC5)

或者也可以打開(kāi)程序包管理控制臺(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í)行相同查詢(xún)的區(qū)域。這樣您就可以快速找到可能批量的查詢(xún)。
還可以記錄所有的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)文章
ASP.NET下母版頁(yè)和內(nèi)容頁(yè)中的事件發(fā)生順序整理
母版頁(yè)與內(nèi)容頁(yè)合并后事件的發(fā)生順序,有需要區(qū)別的朋友能用的到2009-03-03
.NET Core 2.0遷移小技巧之web.config 配置文件示例詳解
這篇文章主要給大家介紹了關(guān)于.NET Core 2.0遷移技巧之web.config 配置文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
asp.net的web頁(yè)面(aspx)數(shù)據(jù)量過(guò)多時(shí)提交失敗對(duì)策
asp.net的web頁(yè)面,數(shù)據(jù)量過(guò)多時(shí)提交失敗的情況想必有很多朋友都有遇到過(guò)吧,下面與大家分享下詳細(xì)的解決方法2013-05-05
C#實(shí)現(xiàn)HTTP協(xié)議迷你服務(wù)器(兩種方法)
用C#語(yǔ)言實(shí)現(xiàn)HTTP協(xié)議的服務(wù)器類(lèi)本文將以?xún)煞N稍微有差別的方式用C#語(yǔ)言實(shí)現(xiàn);要完成高性能的Web服務(wù)功能,通常都是需要寫(xiě)入到服務(wù),如IIS,Apache Tomcat感興趣的朋友可以了解下,或許對(duì)你學(xué)習(xí)c#有所幫助2013-02-02
asp.net request.PathInfo實(shí)現(xiàn)的url重寫(xiě)
最近對(duì)在開(kāi)始研究url重寫(xiě),對(duì)重寫(xiě)的原理以及重寫(xiě)之后引起的性能問(wèn)題是研究的重點(diǎn),研究過(guò)程中發(fā)現(xiàn)了一種輕便的“url重寫(xiě)方案”2009-04-04
EF使用Code First模式給實(shí)體類(lèi)添加復(fù)合主鍵
這篇文章介紹了EF使用Code First模式給實(shí)體類(lèi)添加復(fù)合主鍵的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
asp.net core中Cookie和Session的實(shí)現(xiàn)示例
ASP.NET Core用戶(hù)會(huì)話(huà)管理主要通過(guò)Cookie和Session實(shí)現(xiàn),本文主要介紹了asp.net core中Cookie和Session的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2025-01-01

