我在使用 Sitecore CMS 时遇到了一个相当耗时的问题。
是否可以缩短每次在 bin 文件夹或 web.config 中进行更改时应用程序池回收所需的时间?
服务器需要 2 到 5 分钟才能在更改后立即做出响应。
有任何想法吗?
我在使用 Sitecore CMS 时遇到了一个相当耗时的问题。
是否可以缩短每次在 bin 文件夹或 web.config 中进行更改时应用程序池回收所需的时间?
服务器需要 2 到 5 分钟才能在更改后立即做出响应。
有任何想法吗?
这里有一篇来自 sitecore 的 alex shyba 关于减少 Sitecore 启动时间的文章
文章摘要是
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
<setting name="Counters.Enabled" value="false" />
有很多关于提高站点核心性能的文章我在下面列出了几个链接:
他需要重新启动应用程序池才能加载新的dll。
您可以尝试最小化您在启动时所做的事情(但我猜它主要是您无法影响的站点核心内容)所以最好的建议是我可以Give 是拥有 2 个带有内容开关的网络服务器。
您将在 2 个服务器上运行您的应用程序,内容切换决定哪个服务器处理哪个请求(注意会话和静态,因为每个服务器都不知道其他服务器)。
如果在某个时候您需要发布一个新版本,您只需指示您的内容切换将所有流量定向到网络服务器 A。然后部署到网络服务器 B,通过不通过内容切换的直接 url 打开网站并确保它工作正常+预热。
然后你告诉内容开关将所有流量指向 B,你就有时间更新网络服务器 A 并将内容开关切换回正常模式。
我也有这个问题。
无论出于何种原因,在进行任何更改或重新启动网站后,我的本地副本都需要大约 5 分钟才能完全启动。测试任何东西绝对是可怕的。这只是当地的一个问题。我的开发服务器环境和生产似乎没有受到影响。
我发现了一个分析工具,可以让我找到一个异常值控件,该控件需要花费大量时间来渲染。尝试这个...
就我而言,我发现最大的问题来自一个控件,该控件正在对一项进行昂贵的搜索。看起来像这样 ->Sitecore.Context.Database.SelectItems("" + Sitecore.Context.Item.Paths.Path + "/ancestor-or-self::*[@@templateid='" + templateId + "']");
这主要是一个本地问题,因为 SQL 服务器在我的机器上是远程的,而其他服务器在同一栋楼里。因此,开发和生产相对不受影响。
祝你好运!
但是2-5分钟听起来很极端。这不正常。你的硬件是最新的吗?另外我会查看您的预取缓存。在您的开发环境中,您可能不希望 i 在启动时获取太多信息,因为这在开发中不需要。
我还将查看初始化管道和 global.asax 以查看您是否正在执行任何自定义启动作业。
您可以减少核心、主数据库和 Web 数据库上的预取缓存大小,但不建议这样做,仅在开发机器上执行此操作,而不是在生产服务器上执行此操作。