[英]Sitecore - No App Pool Recycle
我在Sitecore CMS上遇到了一个非常耗时的问题。
可以在bin文件夹或web.config中进行每次更改时缩短应用程序池回收的时间吗?
更改后,服务器需要2到5分钟才能做出响应。
有任何想法吗?
有一篇来自sitecore的alex shyba的文章,关于减少Sitecore启动时间
文章摘要是
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
<setting name="Counters.Enabled" value="false" />
关于改善Sitecore性能的文章很多,下面列出了一些链接:
他需要重新启动应用程序池才能加载新的dll。
您可以尝试最小化启动时所做的事情(但是我猜这主要是您无法影响的sitecore内容),因此我能给出的最佳建议是让2个具有内容切换功能的Web服务器。
您将在2台服务器上运行您的应用程序,然后内容切换器确定哪个服务器处理哪个请求(请谨慎使用会话和静态信息,因为每个服务器对其他服务器一无所知)。
如果需要发布新版本,只需指示内容切换将所有流量定向到Web服务器A。然后部署到Web服务器B,通过不传递内容切换的直接网址打开网站,并确保它工作正常且正在预热。
然后,您告诉内容切换器将所有流量指向B,然后您便有时间在世界各地更新Web服务器A并将内容切换器切换回普通模式。
我也有这个问题。
无论出于何种原因,在进行任何更改或重新启动网站后,我的本地副本大约需要5分钟才能完全启动。 测试任何东西绝对是可怕的。 这只是本地的问题。 我的开发服务器环境和生产似乎没有受到影响。
我找到了一个配置文件工具,使我能够找到一个离群的控件,该控件花费了淫秽的时间进行渲染。 尝试这个...
就我而言,我发现最大的问题来自一个控件,该控件正在昂贵地搜索一项。 它看起来像这样-> Sitecore.Context.Database.SelectItems("" + Sitecore.Context.Item.Paths.Path + "/ancestor-or-self::*[@@templateid='" + templateId + "']");
这主要是一个本地问题,因为SQL服务器位于我的计算机的远程位置,而其他服务器位于同一建筑物中。 因此,开发和生产相对不受影响。
祝好运!
您可以在此处关注Alex Shyba的帖子
但是2-5分钟听起来很极端。 这不正常。 您的硬件是最新的吗? 另外,我还会查看您的预取缓存。 在您的开发环境中,您可能不希望我在启动时花太多钱,因为开发中不需要这样做。
我还将研究初始化管道和global.asax,以查看是否正在执行任何自定义启动作业。
您可以减少核心数据库,主数据库和Web数据库上的预取缓存大小,但是不建议这样做,仅在开发计算机上而不在生产服务器上执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.