Skip to content
Calcrivo

Anycast Coverage Calculator

Check per-location load on an anycast prefix and whether the survivors absorb the traffic when a location withdraws.

Inputs

thousand/s
locations
thousand/s
locations

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

  1. 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 %

  2. 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.

  3. Survivor Utilisation After the Failure

    = 20.3

  4. Average Load per Location

    = 4.00 thousand/s

  5. Average Load per Surviving Location

    = 4.07 thousand/s

  6. Utilisation in Normal Operation

    = 20.0

  7. Busiest Catchment Load

    = 6.51 thousand/s

  8. 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.

You might also need