Sitecore9-负载测试导致502个错误



我们在Azure应用程序网关后面有一个Sitecore CD(Sitecore 9-update 1(实例。

我正在我们的网站上做一个负载测试,有4000个请求。我看到大约10-15%的请求返回502个网关错误。

我们的CPU和内存利用率(Sitecore CD和应用程序网关(似乎很好。我还检查了SQL Server的CPU,它看起来也很好。在检查CD日志时,我没有看到任何错误或异常(在负载测试之前也会看到一些错误(。我只在Azure应用程序网关上看到502个网关错误,JMeter也说了同样的话。

在剩余请求成功的情况下,这502个网关错误仅占10-15%的原因是什么?

如果启用了自动扩展,那么当一个新实例正在运行时,当新实例已经添加到负载均衡器时,Sitecore还没有100%准备好提供请求。这导致502代理错误,因为应用程序网关没有从新实例接收到正确的响应。这取决于冷启动以及如何配置应用程序初始化。

在负载平衡器开始向这个新创建的实例发送请求之前,请确保您已经准备好了应用程序初始化,以便运行一些请求来预热一个新实例,例如,您可以通过在web.config中为关键页面指定应用程序初始化配置来增强冷启动,如下所示:

<system.webServer>
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
<add initializationPage="/key-section1/page1" />
<add initializationPage="/key-section2/page2" />
</applicationInitialization>
</system.webServer>

我们通过增加应用网关实例解决了这个问题。我们有3个应用网关实例,我们正在测试大约4K并发用户。根据azure支持,大约一个应用网关实例可以处理大约1K个请求。

最新更新