0
votes

I am adding an auto scaling setting to my azure app service plan and defining two rules: Scale out when Memory Percentage grater then 70 and scale in when it is less then 25. I also defined maximum instances to be 10, minimum to 2 and default 2 as well. enter image description here

Once the setting is saved, the App Service plan starts to scale out and reaches the maximum of 10 instances.

When I am checking the App Service plan memory percentage it remains always around 70 percent, regardless the number of instances and regardless the load (the service is on the dev environment and there are almost no request done to the service) enter image description here

While the application memory is more or less 160 Mbit enter image description here

So I am totally confused, on the one hand the scale out metric is app service plan memory percentage on the other hand the scaling out does not solves the problem and the memory load remains the same. In addition application memory doesn't seems to be a root cause to the scaling out since it always around 160 Mbit. So basically the app service plan scales because of its own memory requrement which is around 60 percent (I am using tier S1) and my question is what's the point of having Memory Percentage metric in first place if it doesn't affected by application?

1
In AWS it does ASGs with CPU, Network & ELB - if you want based on memory you need to install a client side component. This is true for Azure as well: docs.microsoft.com/en-us/azure/azure-monitor/platform/… - this is a guess but without the Azure Monitor Windows Azure Diagnostics (WAD) extension, you're seeing another metric which is causing confusion? Is that the case?Jeremy Thompson

1 Answers

0
votes

You can check each instance memory usage here: Go to Diagnose and Solve Problems in the Azure portal for your Azure Web App and choose "Availability and Performance", then you have "Memory Analysis". "Instance Memory Usage (App Service Plan)" section provides details on each instance memory usage.