An Azure service that provides a hybrid, multi-cloud management platform for APIs.
Hello @Krista Scerri , I hope you are doing well,
Welcome to Microsoft Q&A.
The behavior you are seeing is consistent with capacity throttling at the APIM gateway level during short bursts of concurrency. The 1-minute Average Capacity metric does not necessarily represent the instantaneous resource pressure that caused the 429. A brief saturation event can therefore produce Capacity Throttled while the 1-minute average remains around 50%.
For your questions:
- What triggers the 429?
Capacity Throttledindicates that the APIM gateway could not accept additional requests at that point in time. The Max Capacity metric reaching ~95% during the bursts supports this explanation. The Average metric should not be used as the sole indicator for short-lived saturation. - How to eliminate the 429s? First, I would test scaling out the APIM instance and distribute the burst workload across multiple units. If the workload requires consistently higher throughput/concurrency, moving to a tier designed for larger production workloads, such as Standard v2 or Premium, can also be considered. However, there is no single documented percentage threshold that guarantees when
Capacity Throttledwill occur; the effective capacity depends on workload characteristics and policies. - Why aren't they in gateway diagnostic logs? These 429s are generated by the APIM platform before the request reaches normal gateway processing, so it is possible to see them in the Requests metric without an equivalent gateway diagnostic-log entry. The
Gateway Response Code = 429andLast Error Reason = Capacity Throttleddimensions are therefore particularly useful for identifying this condition.
If the issue persists after scaling out, please capture the Capacity Max, request count, and 429 count over the same short time window. This will help determine whether the bottleneck is APIM gateway capacity or the burst/concurrency pattern itself.
If my answer helped you, please consider marking it as accepted. This helps others in the community find similar solutions.