Visual studio Azure Web应用程序网关性能与负载测试

Visual studio Azure Web应用程序网关性能与负载测试,visual-studio,azure,nginx,load-testing,gateway,Visual Studio,Azure,Nginx,Load Testing,Gateway,我有一个VisualStudio负载测试,它在一个网站的页面上运行,但是在使用负载平衡器时,在性能上有很大的差异。例如,如果我绕过负载平衡器直接运行到Web服务器1的测试,则100个用户的平均页面加载时间不到1秒。如果我在负载平衡器上进行同样的测试,后面有两台web服务器,那么我得到的平均页面加载时间约为30秒——它启动很快,但随后会恶化。这很奇怪,因为我现在有2个web服务器负载平衡,而不是使用1个direct,所以我希望能够增加负载。我现在正在用Azure Web应用程序网关和Azure虚拟

我有一个VisualStudio负载测试,它在一个网站的页面上运行,但是在使用负载平衡器时,在性能上有很大的差异。例如,如果我绕过负载平衡器直接运行到Web服务器1的测试,则100个用户的平均页面加载时间不到1秒。如果我在负载平衡器上进行同样的测试,后面有两台web服务器,那么我得到的平均页面加载时间约为30秒——它启动很快,但随后会恶化。这很奇怪,因为我现在有2个web服务器负载平衡,而不是使用1个direct,所以我希望能够增加负载。我现在正在用Azure Web应用程序网关和Azure虚拟机进行测试。我以前在使用NGinx设置时也遇到过同样的问题,我认为这是由于该设置造成的,但现在我发现我在Azure上也遇到了同样的问题。任何想法都很好。

以下是帮助我改善同样情况的一系列措施:

  • 添加非SSL侦听器并使用该侦听器(例如,HTTP而不是HTTPS)。显然,这不是建议的解决方案,但可能会给您一个提示(将SSL卸载到后端池服务器?添加更多网关实例?)
  • 禁用WAF规则(略有改进)
  • 禁用WAF+添加更多网关实例(在我的情况下从2个增加到4个)-解决了问题
我必须完全禁用防火墙才能获得一致的性能。我还遇到了防火墙的其他问题,它给我们提供了来自安全模块的最大实体大小错误,在与Azure支持讨论后,无法配置此实体大小,因此保留防火墙将意味着一些大型页面将不再运行并出现此错误。即使禁用了所有规则,也会发生这种情况,我花了很多时间尝试不同的规则开/关。SQL注入规则似乎不喜欢我们的ASP.NET web表单站点。现在,我已经模拟了1000个并发用户在两个测试代理之间的分配,我们的网站性能良好,平均页面加载时间不到一秒钟。

web app gateway的大小?从中等WAF gateway开始,有2个实例。将这些更改为大型,并从15分钟100用户负载中获得几乎完全相同的结果。我有完全相同的结果。你解决了吗?我怀疑WAF是造成延迟的原因,所以我尝试最小化它执行的规则集(或完全禁用它),但不确定这是否有帮助。嗨,我必须完全禁用防火墙以获得性能。我还遇到了防火墙的其他问题,它给我们提供了来自安全模块的最大实体大小错误,在与Azure支持讨论后,无法配置此实体大小,因此保留防火墙将导致一些大型页面不再工作,并出现此错误。即使禁用了所有规则,也会发生这种情况,我花了很多时间尝试不同的规则开/关。