2012-10-10 42 views
2

我想弄清楚如何使用MiniProfile來查看爲什麼一些網頁會這麼慢。 我已將它添加進來,並在Application_BeginRequest,Application_EndRequest附近添加了Steps,並在我的控制器操作(下圖中爲CanManageOrganization和GenerateTreeDataSource)附近添加了Steps。但正如你在下面看到的那樣,這兩種方法運行得相對較快。之後有一個很大的差距,直到GetVaryByCustomString被調用。我將如何着手弄清楚發生了什麼(花費的時間)?MiniProfile - 如何找出隱藏空間中發生了什麼?

我的理解是,真正的渲染引擎是在那一節中會發生什麼?我在這裏不正確嗎?關於如何弄清中途花在做什麼的任何建議?

Profile results

+0

是那個mvc?奇怪的是,通常我會希望miniprofiler本身自動顯示動作的開始結尾並查看...這裏的設置是什麼?它是什麼類型的行爲?哪一步是行動? –

+0

是的,它的MVC 4.0。它只是一個常規的MVC控制器和操作(使用Razor引擎)。我甚至嘗試了一個完全空白的動作/空視圖,它採取+2916.0:S – Kyle

回答

1

我會建議你安裝MiniProfiler.MVC3的NuGet,這將給你有關MVC更具體的細節。 Yoju會看到花時間來查找和渲染視圖。

以下是你可能會看到什麼樣:

enter image description here

備註:用的NuGet的最新版本,如果你正在主持在IIS7集成管道模式或IIS表達你的應用程序在本地,你可能需要將以下處理程序添加到<system.webServer>部分:

<handlers> 
    <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
</handlers> 
+0

我以前使用過:NuGet'Install-Package MiniProfiler'來安裝mini-profiler,但我沒有添加任何處理程序。我會嘗試添加,看看是否有任何改變。謝謝。 – Kyle

+1

不,處理程序是修復'MiniProfiler.MVC3' Nuget中的錯誤。它不會改變你的情況。您需要卸載'MiniProfiler'軟件包並安裝'MiniProfiler.MVC3'軟件包。 –

+1

謝謝,使用MiniProfiler.MV3幫了大忙。我能夠看到大部分時間都花在了「查找」程序中。從那裏[這](http://community.miniprofiler.com/permalinks/61/what-does-find-actionname-represent-in-the-mvc-profiler)鏈接幫助。所以我有幾件事要儘量縮短時間。 – Kyle