Anycast Coverage Calculator
Check per-location load on an anycast prefix and whether the survivors absorb the traffic when a location withdraws.
Inputs
A location withdraws its BGP advertisement and its share moves to the next nearest.
BGP picks the shortest AS path, not the least loaded location, so catchments are uneven.
Survivor Utilisation After the Failure
20.3%
Average Load per Location
4.00thousand/s
Average Load per Surviving Location
4.07thousand/s
Utilisation in Normal Operation
20.0%
Busiest Catchment Load
6.51thousand/s
Spare Capacity in the Fleet
960.00thousand/s
Locations You Can Lose
48
Resilience Verdict
Resilient — survivors absorb the failure with headroom
Step by step
Values used
Total request rate = 240 thousand/s; Locations advertising the prefix = 60 locations; Capacity per location = 20 thousand/s; Locations lost in the failure case = 1 locations; Extra load on the busiest catchment = 60 %
Anycast Coverage
load per location = total ÷ locations; after a withdrawal, load per survivor = total ÷ (locations − failed), and the busiest catchment carries that plus the skew.
Survivor Utilisation After the Failure
= 20.3
Average Load per Location
= 4.00 thousand/s
Average Load per Surviving Location
= 4.07 thousand/s
Utilisation in Normal Operation
= 20.0
Busiest Catchment Load
= 6.51 thousand/s
Spare Capacity in the Fleet
= 960.00 thousand/s
How it works
Anycast advertises one prefix from every location and lets BGP send each user to the nearest, so load divides by location count — but only on average, because BGP optimises AS path length rather than balance. When a location withdraws its route its entire catchment lands on the next nearest sites, which is why the failure case is total ÷ (locations − 1) with the skew applied on top. Anycast failure is not graceful: one withdrawal redistributes a whole catchment to specific neighbours, not to the fleet evenly, so provisioning to the average utilisation is how a single PoP loss cascades into a regional outage.
Formula
Anycast Coverage
load per location = total ÷ locations; after a withdrawal, load per survivor = total ÷ (locations − failed), and the busiest catchment carries that plus the skew.
- catchment skew
- How much busier the largest catchment is than the mean
- survivors
- Locations still advertising the prefix after the failure
- locations you can lose
- Fleet size minus the locations needed to carry the load
Frequently Asked Questions
How is Anycast Coverage calculated?
load per location = total ÷ locations; after a withdrawal, load per survivor = total ÷ (locations − failed), and the busiest catchment carries that plus the skew. Anycast advertises one prefix from every location and lets BGP send each user to the nearest, so load divides by location count — but only on average, because BGP optimises AS path length rather than balance. When a location withdraws its route its entire catchment lands on the next nearest sites, which is why the failure case is total ÷ (locations − 1) with the skew applied on top.
Why does Anycast Coverage matter?
Anycast failure is not graceful: one withdrawal redistributes a whole catchment to specific neighbours, not to the fleet evenly, so provisioning to the average utilisation is how a single PoP loss cascades into a regional outage.
What values do I need to enter?
This calculator takes 5 inputs: Total request rate, Locations advertising the prefix, Capacity per location, Locations lost in the failure case, Extra load on the busiest catchment. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.