我有一个在Azure网站上托管的MVC3,.NET4.5 asp.net Web应用程序。
我正在尝试“免费”,“共享”和“标准”缩放配置。
我注意到经过一段时间的不活动后,编译的代码会从内存中删除,或者应用程序池被回收,强制重新编译JIT。
我的主要问题是在编译代码被强制重新编译之前的时间段是多少?我认为这是应用程序池回收的结果?我在标准的共享主机上遇到过这种情况,例如DiscountASP。
我的第二个问题是:最小化此问题的最佳方法是什么,因为我不希望我的用户遇到这种重新编译滞后?我最初的想法是预编译。
非常感谢提前。
编辑:
我在这里找到了相关的SO帖子:App pool timeout for azure web sites
然而,似乎像标准共享主机一样,无法更改App Pool回收。由于它是专用的,因此“标准”比例选项具有更大的灵活性。所以目前可能的选择是:
1)预编译
2)使用“保持活动”ping站点。
EDIT2:
1)“保持活力”的方法似乎有效。我有一个10分钟的监视器运行。
答案 0 :(得分:2)
我认为默认情况下,不活动时间为20分钟。我还没有使用过网站,所以我不会因为更改设置而获得解决方案,但保持网站活动的一种快捷方法是使用像 Pingdom 这样的正常运行时间监控服务(你可以在写作时免费查看一个网站),这将定期ping你的网站,防止它变得闲置。