Case study

Object cache on a multisite network

Wave rollout with a canary and an isolation smoke test before touching the other sites.

Metric Before After Δ
Redis QPS 12,400 2,480 −80%
p75 response time 840ms 310ms −63%

A six-site multisite network shared a single Redis instance, and option reads climbed with morning traffic, when newsrooms publish in bursts.

A write-only group that nothing ever read caused the bottleneck. It filled the instance while returning nothing. The fix was to move it out of the object cache rather than add memory.

The rollout went in waves, with one canary site and a smoke test that confirms isolation between network sites before releasing the next. Order matters here: on multisite, flushing a group sweeps the entire network, so the canary only proves something if the isolation test runs first.