question

AkashSamal-8200 avatar image
0 Votes"
AkashSamal-8200 asked Mike-Ubezzi edited

Application Gateway is sending calls to server with high CPU

Hi There,

While configuring high availability for my application, we came across a situation where due to session affinity enabled one server was receiving all the traffic from the same private network and others do not.

The Machine which was receiving all the calls, went into high CPU state. Still receiving calls from new users of the same private network.

Is there any way to come over this situation. Possible solutions may be:

  1. If any server goes in high CPU, that should degrade automatically

  2. new users from the same private network should be sent a better healthy server.

  3. Disabling Session affinity would might help

Can you please let us know the best suitable solution here.

azure-application-gateway
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

TravisCragg-MSFT avatar image
0 Votes"
TravisCragg-MSFT answered AkashSamal-8200 commented

Azure Application Gateways use Health Probes to check on the status of the backend pools. Unfortunately this does not monitor the CPU usage of the VMs, but only the TCP or HTTP connectivity. This is difficult for a high CPU situation, as the TCP / HTTP connectivity will be delayed, but often still responsive in the given timeout.

Requests are distributed in a Round Robin algorithm, so if all of your backends are healthy, they should all have been receiving equal requests. If this was not the case, then there is an issue with your backend pool.

You can also look into Monitoring your backend health & diagnostics for Application Gateways to help look into what happened / is happening.


· 3
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hi Travis, @TravisCragg-MSFT

Yes, requests are distributed in a round-robin way. But in our scenario, Cookie-based affinity is enabled and all requests are coming from the same public IP. Like calls are from all users of the same organization.


How can we handle this scenario?

0 Votes 0 ·

My apologies for the delay.

It sounds like Azure Application Gateway is not a good fit for your scenario. If the requests will always come from the same port, you will need to use a 3rd party load balancing solution.

0 Votes 0 ·

Thanks Travis, will research on 3rd party Load Balancers.

0 Votes 0 ·