我有一个带有WebAPI项目的AppService。在我重新启动此服务或上传新版本后,我首先调用的每个端点响应速度非常慢(> 15秒)。如果我点击所有端点一次,应用程序工作正常。
我的Azure有一个PayAsYouGo订阅,我AlwaysOn
的{{1}}功能设置为AppSercice
。在跟踪日志中,我还看到了多个条目:
SnapshotHelper :: RestoreSnapshot - optout环境变量aspnet:PortableCompilationOutput = true
在编译期间,我使用以下参数:
true
答案 0 :(得分:2)
问题是您的Azure实例尚未首次调用。您需要使用应用程序预热过程才能使其首先运行。解决此问题的一种方法是使用application initialization module配置web.config during swaps and deployments。
这使您可以在部署后作为启动过程的一部分调用站点中的页面。
<system.webServer>
<applicationInitialization>
<add initializationPage="/warmup-cache.php" hostName="appinitwarmup.azurewebsites.net"/>
</applicationInitialization>
</system.webServer>