需要更改负载测试或应用程序托管计划

时间:2017-01-02 18:43:35

标签: azure azure-devops azure-web-sites performance-testing load-testing

我已在Standard: 1 Small计划中的Azure App服务中托管了我的应用程序。我使用以下设置在我的应用程序上运行负载测试

Test duration  - 1 minutes
Response time goal - 4 sec
Step Load pattern - 100 step user per 6 sec
Maximum user count - 1000

从上面的测试配置中,我得到了大约800错误和80% of them are response time exceed 4 sec error

我的问题:

  1. 我是否需要增加计划,因为响应时间为4秒 目标?
  2. 我是否需要重新考虑4秒的响应时间目标?
  3. 如果我需要重新考虑响应时间目标,那么最好的是什么 响应时间目标我需要设置?

2 个答案:

答案 0 :(得分:0)

  

我是否需要增加计划,因为达到4秒的响应时间目标?

根据我的理解,我假设您可以尝试Monitor your web app in Azure App Service来收集Web应用程序的指标(平均内存使用量,平均响应时间,CPU时间,请求等)。为了提高吞吐量,您可以利用Scale Out创建网站的多个副本,并添加负载均衡器以自动在它们之间分发请求。此外,您可以利用Remote Profiling in Azure App Service查找是否可以优化应用程序以减少HTTP请求的延迟。如果上述步骤无法减少延迟,则需要将应用服务计划更改为更高的定价层,以适应更大的内核数量和内存数量的更大的物理服务器。

  

如果我需要重新考虑响应时间目标,那么我需要设置的最佳响应时间目标是什么?

众所周知,更高的定价等级会为您带来更高的性能和吞吐量,但这会花费您很多。我假设您可以尝试优化您的应用程序,并结合您的预算和性能目标(吞吐量,响应时间等),以选择适当的App Service计划来从您的应用程序中收集指标。使用指标数据,您可以确定平均响应时间是否符合您的要求。有关Web应用程序性能问题的更多详细信息,请参阅此官方document

答案 1 :(得分:-2)

  1. 这取决于问题所在的位置,您可以使用ie Azure Monitoring进行检查,如果您发现CPU或RAM使用率非常高,那么您的应用无法为1000个并发虚拟用户提供响应时间更短的服务超过4秒 - 在这种情况下,您将需要切换到更强大的硬件。如果CPU和RAM负载仍然相对较低 - 问题仍然存在于其他地方,您需要考虑一些performance profiling
  2. 只有你能回答,这取决于你的应用细节。如果它是供内部使用的东西并且做一些不太重要和/或紧急的事情 - 甚至可以有60秒的响应时间。
  3. 与3相同:"目标"应该来自商业世界,即您应该有明确的要求,即“应用程序必须为响应时间不超过Y ms的X用户提供服务”,详见Gotta Test 'em All文章。如果您没有明确的要求 - 我的建议是确保您的应用程序可以扩展,即如果您有更好的CPU和RAM规格,或者向群集中添加额外的节点,它可以承受更高的负载。