Azure长响应时间瓶颈?

时间:2016-12-07 20:24:32

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

如何诊断Azure中的性能(响应时间)瓶颈?

我在Azure上有一个.NET Core网站,它包含一个Web应用程序服务和一个SQL数据库。

我已经设置了负载测试并通过云部署它来访问网站。负载测试代理的配置属性为

  • 4核
  • 从10个并发用户开始,每20秒+10,最多150个用户
  • 请求之间的5秒思考时间

Web应用程序资源分配如下

  • 的2个实例
  • 4核,7GB RAM(S3标准)

此图显示了负载测试期间的硬件利用率(显示了2个测试,大约下午1点和下午1点半)

enter image description here

似乎合理,除了我的响应时间在我看来太慢,考虑到硬件根本没有压力。例如,在10个用户中,我的响应时间从20毫秒开始,但在150个用户(在测试结束时),我看到了5秒的响应时间。

enter image description here

对于测试的最后一部分,我的每秒请求大约为50。

enter image description here

数据库性能(100DTU)似乎不是一个因素: enter image description here

我还能做些什么来诊断慢响应时间?如果Web服务器硬件没有挂钩,并且数据库甚至没有打喷嚏,我还可以打开其他什么样的旋钮?

2 个答案:

答案 0 :(得分:2)

响应时间长的瓶颈可能是由各种原因造成的,例如带宽限制,源限制,应用程序设计不良,紧耦合组件的依赖性等。有关如何解决慢速Web应用程序性能问题的更多信息,请参阅该文件。该文件中有一些摘录。

  

为您的网络应用启用诊断日志记录。   

  WebApp提供诊断功能,用于记录来自Web服务器和Web应用程序的信息。   我们可以为Web服务器诊断启用详细错误记录,失败请求跟踪,Web服务器日志记录

     

使用Kudu调试控制台(https://。scm.azurewebsites.net/)   Kudu为您的应用程序,日志流,诊断转储提供环境设置

我们还可以使用Azure Application Insights来监控应用程序的使用情况和性能,然后我们可以获得有关请求的更多详细信息,更多详细信息异常信息,响应时间等。 如果我们获得有关应用程序异常,请求失败,服务器日志和应用程序日志的更多详细信息,那么对我们进行诊断将更有帮助。

enter image description here

还有一些关于如何诊断Web App以及如何使用应用程序洞察的相关文章:

Enable diagnostics logging for web apps in Azure App Service

Monitor performance in web applications

Diagnose exceptions in your web apps with Application Insights

Using Search in Application Insights

答案 1 :(得分:0)

尝试使用新的遗物扩展程序 它通过免费帐户提供了对响应时间和更多信息的深刻见解

您还可以在网络应用上启用应用洞察。它将为您提供有关响应时间和其他详细信息的详细信息