1

在我的一个项目中,我使用了 Umbraco v4.7.1、asp.net 4、Windows 7、SQL Server 2008 和 IIS 7。我在不止一页中遇到了速度问题。当我对我的代码进行跟踪时,我发现性能问题是由代码引起的

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
4

1 回答 1

1

可能存在许多问题,但对我影响最大的更改是设置宏缓存。

如果您能够识别所有页面通用的宏(例如顶级导航),请转到开发人员部分,选择该宏并为缓存周期设置一个值(介于 600 秒或更高之间)。

Umbraco 宏缓存

这里发生的情况是,当对您的页面发出第一个请求时,Umbraco 将完整运行宏并生成所需的输出 - 在大多数情况下,这将是某种 HTML 标记。然后,Umbraco 会将此输出转储到 ASP.NET 缓存中并将其保留在那里。在给定的缓存周期(上例中为 600 秒)内进入的下一个请求将使用缓存中存在的内容,而不是运行宏。

另一种可能的选择可能是打开跟踪并查看那里是否有任何东西。将以下查询字符串添加到 URL:?umbDebugShowTrace=true并查找任何错误或警告。

于 2012-10-08T09:10:22.373 回答