在StackOverflow上有关于app harbour的类似问题,但是用户没有尝试使用新的遗物来克服这个问题。
我在App Harbor上部署了我的ASP.NET MVC项目。它配置非常简单,您甚至可以从Git设置自动部署。但是,由于我的网站仍主要仅由我使用,因此我的冷启动时间很长(超过15秒)。为了避免这种情况,我安装了New Relic。这个想法是同时监控应用程序,但也创建定期ping,根据“很多人”,将大大减少加载时间。
它不起作用。我每分钟都正确地ping我的应用程序New Relic,但是我仍然会进行很长时间的冷启动。例如,5分钟前,我的冷启动时间为16秒。 1分钟后,我在不到一秒的时间内完成了页面加载。
我知道我可以使用Pingdom或StillAlive来实现相同的结果: How do I improve app performance on AppHarbor?
我不想这样做,因为我喜欢New Relic而且我不想在应用程序端口上添加很多附加组件,因为它们会减慢我的网站速度。你知道可能导致它的原因吗?
答案 0 :(得分:1)
我不熟悉AppHarbor的设置。但如果它使用IIS,则ping只是让应用程序池不会达到空闲超时。但是,无论请求数量多少,应用程序池的默认IIS设置每29小时就可以回收一次。并且通常最好让它偶尔循环使用,因此解决它可能不符合您的最佳利益。
最好的办法是减少应用程序启动时发生的事情。预编译您的视图是一个很好的起点。哎,Stack Exchange/Stack Overflow precompiles views to avoid the application start up cost。