2

我在使用 Sitecore CMS 时遇到了一个相当耗时的问题。

是否可以缩短每次在 bin 文件夹或 web.config 中进行更改时应用程序池回收所需的时间?

服务器需要 2 到 5 分钟才能在更改后立即做出响应。

有任何想法吗?

4

5 回答 5

4

这里有一篇来自 sitecore 的 alex shyba 关于减少 Sitecore 启动时间的文章

文章摘要是

  • 在 machine.config 中:禁用进程以检查已签名的程序集
<runtime>  
    <generatePublisherEvidence enabled="false"/>
</runtime>
  • 在 Sitecore web.config 中禁用性能计数器
<setting name="Counters.Enabled" value="false" />

有很多关于提高站点核心性能的文章我在下面列出了几个链接:

于 2013-10-11T09:15:43.670 回答
1

他需要重新启动应用程序池才能加载新的dll。
您可以尝试最小化您在启动时所做的事情(但我猜它主要是您无法影响的站点核心内容)所以最好的建议是我可以Give 是拥有 2 个带有内容开关的网络服务器。

您将在 2 个服务器上运行您的应用程序,内容切换决定哪个服务器处理哪个请求(注意会话和静态,因为每个服务器都不知道其他服务器)。
如果在某个时候您需要发布一个新版本,您只需指示您的内容切换将所有流量定向到网络服务器 A。然后部署到网络服务器 B,通过不通过内容切换的直接 url 打开网站并确保它工作正常+预热。
然后你告诉内容开关将所有流量指向 B,你就有时间更新网络服务器 A 并将内容开关切换回正常模式。

于 2013-10-11T08:58:20.883 回答
1

我也有这个问题。

无论出于何种原因,在进行任何更改或重新启动网站后,我的本地副本都需要大约 5 分钟才能完全启动。测试任何东西绝对是可怕的。这只是当地的一个问题。我的开发服务器环境和生产似乎没有受到影响。

我发现了一个分析工具,可以让我找到一个异常值控件,该控件需要花费大量时间来渲染。尝试这个...

  1. 编译后启动您的网站。
  2. 登录到这个管理页面:http ://local.example.com/sitecore/admin/stats.aspx
  3. 你会看到这样的屏幕:Sitecore 管理页面内容性能统计寻找任何平均时间或最大时间高得离谱的东西。您的问题可能存在于那里的逻辑中。
  4. 作为奖励,如果您可以在长时间重新编译后继续点击页面而没有太多麻烦,您应该注意到如果您的问题与我的问题类似,您应该注意到平均时间大致减半,以便您控制问题。

就我而言,我发现最大的问题来自一个控件,该控件正在对一项进行昂贵的搜索。看起来像这样 ->Sitecore.Context.Database.SelectItems("" + Sitecore.Context.Item.Paths.Path + "/ancestor-or-self::*[@@templateid='" + templateId + "']"); 这主要是一个本地问题,因为 SQL 服务器在我的机器上是远程的,而其他服务器在同一栋楼里。因此,开发和生产相对不受影响。

祝你好运!

于 2015-04-23T19:57:48.557 回答
0

您可以在此处关注 Alex Shyba 的帖子

但是2-5分钟听起来很极端。这不正常。你的硬件是最新的吗?另外我会查看您的预取缓存。在您的开发环境中,您可能不希望 i 在启动时获取太多信息,因为这在开发中不需要。

我还将查看初始化管道和 global.asax 以查看您是否正在执行任何自定义启动作业。

于 2013-10-11T09:13:45.027 回答
0

您可以减少核心、主数据库和 Web 数据库上的预取缓存大小,但不建议这样做,仅在开发机器上执行此操作,而不是在生产服务器上执行此操作。

于 2013-10-11T12:34:29.163 回答