在天蓝色实例中进行自动缩放后,请求过早

时间:2018-04-05 16:27:26

标签: c# azure

目前我遇到的问题是,如果我在应用和新实例中扩展规则是我的网络应用程序被创建,它会很快得到请求。我的意思是它没有完成初始化。

我已经读过有一个解决方案可以添加到我的OnStart方法中。它将检查实例运行状况并仅在它通过指定的运行状况测试后才允许请求。

但我想知道是否有办法在天蓝色的某处添加这样的支票。万一有,请与我分享。

如果您知道检查实例健康状况的其他任何方式,欢迎您与我分享。

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在web.config文件中使用ApplicationInitialization设置。

您需要添加以下内容:

<applicationInitialization doAppInitAfterRestart="true" skipManagedModules="true">
    <add initializationPage="/" />
    <add initializationPage="/User" />
</applicationInitialization>

每次你的应用程序启动时,这都可能是因为新工作人员上线(水平扩展)或者甚至只是由新部署,配置更改等导致的冷启动...将执行ApplicationInitialization以预热在接受对该工人的请求之前的网站。

您可以在此处详细了解:http://ruslany.net/2015/09/how-to-warm-up-azure-web-app-during-deployment-slots-swap/

尽管该帖子在讨论使用它来进行交换操作时为网站预热,但它也适用于冷启动和扩展。

参考:How can I make sure a new autoscaled Azure App Service instance is warm before it handles traffic?

希望这有帮助。