2012-07-26 35 views
1

在我的一個項目中,我使用Umbraco v4.7.1,asp.net 4,Windows 7,SQL Server 2008 & IIS 7.我在多個頁面中遇到了速度問題。當我把我的代碼跟蹤我發現性能問題是由於代碼umbraco中的性能問題4.7.1

myDocument.Publish(createdUser); 
umbraco.library.UpdateDocumentCache(myDocument.Id); 

我發現它花了約21秒。

請幫助我的人,以提高性能

TraceStart beforepublish 26/07/2012 12:01:59 0.715882046461212 0.000089 
Traceend afterpublish 26/07/2012 12:02:19 21.5144408018338 20.798559 
+0

您的代碼不顯示您的跟蹤語句。什麼時候需要時間,對Publish的調用,對UpdateDocumentCache的調用還是兩者兼而有之? – sisve 2012-07-26 07:36:23

+0

您的內容樹中有多少個節點? – BeaverProj 2012-07-27 17:01:50

+0

此外,哪種版本的Umbraco以及您正在創建的DocType有多少屬性? – BeaverProj 2012-07-27 17:08:13

回答

1

可能有一些問題,但是這對我有被設定宏緩存最好的影響的變化。

如果您能夠識別所有頁面中通用的宏(例如,頂級導航),請轉至開發人員部分,選擇該宏併爲高速緩存週期設置一個值(大約600秒或向上)。

Umbraco Macro Caching

這裏會發生什麼事是你的頁面的第一請求時,一把umbraco將運行在滿宏並生成所需的輸出 - 在大多數情況下,這將是某種形式的HTML標記。然後Umbraco會將這個輸出轉儲到ASP.NET緩存中並保留在那裏。給定高速緩存週期(上例中爲600秒)內的下一個請求將使用高速緩存中存在的內容,而不是運行宏。

另一種可能的選擇可能是轉向跟蹤並查看是否有任何表面存在。將以下查詢字符串添加到URL:?umbDebugShowTrace=true並查找任何錯誤或警告。