UptimeUptime Wiki

Noisy neighbor (IOPS / CPU contention)

When several customers share one server and one of them hammers the disk, every other customer on that machine feels it. Their database queries slow down, their pages lag -- through no fault of their own. They don't know about the greedy neighbor; they just know your service got slow, and slow service is why customers leave.

The fix is headroom and good packing. Don't cram every server to the brim, keep an eye on which machines are running hot, and put demanding tenants (databases, analytics jobs) where they won't trample quieter ones. A little spare capacity is the cheapest insurance against a wave of "why is everything slow?" complaints.

Detailed explanation

The trigger

When a host's actual IOPS draw exceeds ~85% of its sustained capacity (IOPS_CONTENTION_THRESHOLD), every VM on that host takes a synthetic latency penalty (~800ms) and each affected customer's block_quality decays in proportion to the over-pressure. The effect is collective: the heavy tenant degrades all its neighbours, not just itself.

Root cause, not symptom

Noisy-neighbor is the usual cause behind a CustomerLatencySpike on shared SSDs. Adding capacity hides it for a tick, then it returns -- the durable fixes are oversubscription discipline (don't sell past the IOPS budget), workload placement (isolate IOPS-heavy DBs/analytics), and matching host categories to tenant mix so disk-bound and compute-bound tenants don't fight over the same resource.

On this page