Azure Long Response Time bottleneck?

2019-07-14 03:07发布

How does one diagnose performance (response time) bottlenecks in Azure?

I've got a .NET Core website on Azure that consists of a web app service and one SQL database.

I've set up load test and deployed it via the cloud to hit the website. Configuration properties for the load test agents are

  • 4 cores
  • start at 10 simultaneous users, + 10 every 20 seconds, up to 150 users
  • 5 second think time between requests

Web app resource allocation is as follows

  • 2 instances of
  • 4 Core, 7GB RAM (S3 Standard)

This image shows the hardware utilization during the load test (2 tests shown, around 1pm and 1:30pm)

enter image description here

Seems reasonable, except my response times are, in my opinion, too slow, considering the hardware isn't stressed at all. For instance, at 10 users, my response time starts at 20ms, but at 150 users (at the end of the test), I'm seeing 5 second response times.

enter image description here

For the last portion of the test, My requests per second was at about 50.

enter image description here

Database performance, at 100DTUs, doesn't seem to be a factor: enter image description here

What else can I do to diagnose slow response times? If the web server hardware isn't pegged, and the database isn't even sneezing, what other knobs can I turn on Azure?

2条回答
做个烂人
2楼-- · 2019-07-14 03:23

The long response time bottleneck can be caused by various reasons, for example, bandwidth restrictions, source limited, bad application design, dependency of tightly coupled component etc.More information about how to troubleshoot slow web app performance issues , please refer to the document. There are some snipped from the document.

Enable diagnostics logging for your web app.

WebApp provides diagnostic functionality for logging information from both the web server and the web application. We can enable Detailed Error Logging, Failed Request Tracing, Web Server Logging for web server diagnostic

Use Kudu Debug console (https://. scm.azurewebsites.net/) Kudu provides environment settings for your application, log stream, diagnostic dump

We also can use Azure Application Insights to monitor the usage and performance of our app, then we can get more detail info about request, more detail exception info, response time and so on. If we get more detail info about application exception, request failed, server logs and application log, it will be more helpful for us to diagnose.

enter image description here

There are also some related articles about how to diagnostic Web App and how to use Application insights:

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

查看更多
放我归山
3楼-- · 2019-07-14 03:41

Try using new relic extensions It provides great insight to response time and lot more with the free account

You can also enable application insights on the web app. It will provide you with details on response time and other details

查看更多
登录 后发表回答