我有一个小型的Orchard网站,我在Windows Azure上托管。该网站目前配置为使用免费的网站实例。我注意到,在20-30分钟后第一次访问网站时,需要一段时间(> 5秒)才能加载。在初始加载之后,我可以重新访问该网站,并且它的速度很快。我怀疑应用程序池经常作为一个免费的Azure网站实例进行回收。
我需要尽快加载此网站。我并不反对使用不同的Azure选项。我只是不确定我应该使用什么。
1)我的Orchard网站的web.config文件中是否有办法设置应用池的回收频率?我真的需要这个网站很快。
2)如果我使用“共享”网站实例,这会让我超越回收问题吗?
3)或者,我是否需要“已保留”的网站实例。
我的主要目标是经济高效地实现我的网站在一段时间没有被访问后快速加载的目标。我只是不确定我能做什么/应该做什么。
谢谢!
答案 0 :(得分:0)
我针对性能问题使用了以下组合:
Performance
设置中添加我最常访问的网页web.config
内手动设置机器密钥,以便会话无论回收如何都会持续 - 如果没有为IIS内的网站分配足够的内存,这可能是一个问题这些步骤与Azure无关,而是与任何类型的托管相关。特别是在使用Azure共享网站实例时,因为它们只不过是共享主机(与Azure云服务不同)..
答案 1 :(得分:0)
Azure网络角色可以轻松快速地避免appPool回收问题,因此在尝试使用Azure网站的所有选项后,请考虑您的计划B.
我没有尝试使用Azure网站,所以它可能会或者可能不存在。关于是否可以为保留实例配置空闲超时设置,信息很模糊。您可以尝试的一件事是使用预热功能(仪表板 - >性能)。这应该定期加载一些页面,这将阻止appPool的空闲超时。您也可以尝试使用pingdom.com等外部服务,这些服务会定期ping您的网站以防止其被回收。
如果您最终切换到Web角色,您一定能够做到这一点。默认情况下,最新的Orchard版本(v1.6 +)将appPool空闲超时设置为0(永不超时)。如果您使用Web角色而不是azure网站,您通常可以更好地控制性能和其他配置。这种选择的主要缺点是你失去了一些部署选项,部署需要更长时间(它们仍然很容易,它们只需要一段时间)。