Will just HTTPQueue rule enough for azure app service plan scale out for purely website purpose?

35 Views Asked by At

In azure app service plan, I can set different scale out rules(conditions) base on CPU, memory or other conditions.

Our app service plan is purely for our web API.(not azure function or other purposes).

In this usage scenario, I always wonder if just using HTTP Queue would be enough (so get rid of CPU or Memory rule)? As if nothing is queued, even if memory or cpu is high, it won’t be a much a problem (shouldn’t really happen).

If there are lots of requests queued, no matter cpu or memory, we should scale.

enter image description here

Is there any issue with just using HttpQueue to determine scale out/in?

Many thanks

scale out/in question

1

There are 1 best solutions below

0
SiddheshDesai On

This Serverfault thread answers the use of HttpQueueLength and other Auto-Scale parameters used in the rule:-

HTTP Queue Length refers to the number of pending HTTP operations. If your application receives more requests than the web server can handle, this metric can indicate a bottleneck. While CPU limitations are often implicated, they're not the sole cause.

Relying solely on HTTP queue length for scaling decisions may overlook resource constraints and scalability limitations. Ignoring CPU and memory metrics can lead to performance issues and over-provisioning, increasing costs. Additionally, sudden traffic spikes may not be adequately addressed. Implementing this strategy could add complexity to your application architecture, requiring careful handling of concurrency levels.

You can also try adding additional metrics below to be more precise in your Scaling rule:-

  • Established socket count for outbound requests: Tracks active connections to external services. High count may signal increased outbound traffic, impacting performance.

  • TCP TimeWait: Monitors TCP connection states for resource usage and efficiency. High TimeWait counts may indicate suboptimal resource usage or excessive connection churn.

  • Data out/Data in: Measures data sent and received, aiding in identifying spikes in network traffic and potential bandwidth constraints.

enter image description here