2017-05-27 150 views
1

我有一个Visual Studio负载测试,它贯穿网站上的页面,但在使用负载平衡器时遇到了性能方面的巨大差异。例如,如果我运行Web Server 1绕过负载平衡器的测试,那么对于100个用户,平均页面加载时间不到1秒。如果我在负载均衡器中指挥相同的测试并使用2台网站服务器,那么平均页面加载时间约为30秒 - 启动速度很快,但后来恶化。这很奇怪,因为我现在有2个Web服务器负载平衡,而不是使用1个直接,所以我希望能够增加负载。我现在正在使用Azure Web应用程序网关和Azure虚拟机进行测试。我之前在NGinx设置中遇到过同样的问题,我认为这是由于该设置,但现在我发现我在Azure上也有相同的问题。任何想法都会很棒。负载测试中的Azure Web应用程序网关性能

+0

什么大小的网络应用程序网关? – CtrlDot

+0

开始使用中型WAF网关,2个实例。将它们改为较大,并且从15分钟100用户负载得到几乎相同的结果。 –

+0

我有完全一样的东西。你解决了吗?我怀疑WAF导致延迟,所以我试图尽量减少它强制执行的一组规则(或完全禁用它),但不知道这是否有助于 – Muzikant

回答

0

我不得不完全禁用防火墙才能获得一致的性能。我还遇到了防火墙的其他问题,它在安全模块中给我们提供了最大的实体大小错误,并且在与Azure支持人员讨论后,无法配置此实体大小,因此保持防火墙意味着某些大型页面将不再运行并得到这个错误。即使所有规则都被禁用,我也会花费大量的时间试验不同的规则。 SQL注入规则似乎不喜欢我们的ASP.NET Web表单站点。我现在已经模拟了两个测试代理之间的1,000个并发用户,并且性能对我们的站点来说是很好的,平均页面加载时间远低于一秒。

0

这里有事情,帮助我提高了同样的情况列表:

  • 添加非SSL监听器和使用(例如HTTP,而不是HTTPS)。显然这不是建议的解决方案,但可能会给你一个提示(卸载SSL到后端池服务器?添加更多网关实例?)
  • 禁用WAF规则(略有改进)
  • 禁用WAF +添加更多网关实例(在我的情况下从2增加到4) - 解决了问题!