I've set up Azure Front Door Standard with an origin group that includes 10 app services. Out of these, 7 are located in East US2, and the others are in the UK South, Southeast Asia, and Germany. We're using health probes on HTTPS with a HEAD method and a 100-second interval. Our load balancing rules have a sample size of 4 and require 3 successful responses, with a latency sensitivity of 50 milliseconds.
The problem is that the last app service in the East US2 list gets hit disproportionately hard. We can see Azure Front Door round-robining through the origins, but if we don't reboot the last app service (USAPI1) every day at noon EST, it becomes extremely slow, with response times spiking to over 25 seconds. Since we've started rebooting it daily, everything seems fine. However, the other app services (US1 to US6) do not have this issue at all. Has anyone experienced this before? Why is the last origin in the group always getting overloaded?
2 Answers
Have you considered whether you really need Azure Front Door for your needs? If your main goal is just to load balance, Azure Traffic Manager might be a better fit. Many users find that they achieve optimal performance with it, especially if their app services are spread across different regions. It sounds like Front Door works well for latency-based routing, though! The odd behavior of the last origin might just be a quirk of how Front Door manages traffic.
You might want to check out the official documentation on routing methods for Azure Front Door. There could be nuances in how requests are distributed among your origins that may help shed light on the issue. Sometimes, load balancing doesn't always work as expected depending on the configuration.
We did choose Front Door primarily to enhance user experience across multiple regions, so latency-based routing is key for us. The strange thing is, even when traffic seems balanced, that last app in the East US2 group really gets hammered! We've got session affinity disabled since our apps are stateless. So it's puzzling!