Origin egress is the one delivery cost that scales with every design mistake upstream of it. On adult video platforms the symptom is specific: viewer traffic is flat or growing slowly, but the bytes leaving origin climb steadily. The cause is almost never a single misconfiguration — it is the compounding of several mechanisms that each leak a fraction of traffic back to origin.
The mechanism
Every cache miss is an origin fetch, and every origin fetch is billed. The question is not “what is the hit ratio” but “how many bytes leave origin per view”. On tube and VOD workloads, the same public traces that show high request-hit ratios also show origin video egress that tracks seeking, range behaviour, and purge events rather than raw request volume. A cache that answers 95% of requests but forwards the expensive 5% — full MP4 objects on range misses, cold long-tail titles, post-purge refills — can still put the majority of bytes on the origin link.
Cause 1: the wrong cache KPI
Request-hit ratio and byte-hit ratio diverge sharply. Images are the large majority of requests but a minority of bytes; video is the large majority of bytes but a small minority of requests. Optimising request-hit ratio therefore optimises the cheap traffic and ignores the expensive traffic. Track byte offload (bytes served from cache divided by total bytes) and origin bytes as the primary cost KPIs. See Cache hit ratio is lying to you.
Cause 2: range misses collapse into full-object fetches
MP4 and FLV playback issues HTTP range requests. When a non-adjacent or overlapping range misses, some caches forward the whole object to origin rather than the slice. Compressed-object range math (where offsets refer to the compressed representation) makes this worse by construction. Normalise and order ranges, use strong validators so partial objects can be stored safely, and confirm that 206 Partial Content is served from cache under RFC 9111 semantics rather than proxied from origin.
Cause 3: cache-key pollution
If per-viewer tokens, session IDs, device hints, or analytics parameters enter the cache key, every request is unique and the cache becomes a pass-through that bills origin for everything. Validate entitlement at the edge while deriving the media key only from fields that change the object. Token design and cache-key hygiene are one decision, not two.
Cause 4: no shield, so every edge refills from origin
Without an origin shield, each edge location that misses fetches independently. A viral title or a regional cache refill turns into N identical origin fetches. A shield collapses them into one fill and serves the rest from a deeper tier. Request collapsing and a shield are the highest-leverage levers on origin egress, because they multiply across every edge site.
Cause 5: hard purges stampede origin
A hard purge on a hot object removes it everywhere at once, so every edge races to refill the same bytes. Pair takedowns and updates with soft invalidation (revalidation) and request collapsing, and reserve hard purge for the narrow cases that require it. RFC 9213 (CDN-Cache-Control) lets you set a different freshness policy for the CDN tier than for browsers, which keeps edge retention deep while browser caches stay short.
Cause 6: one storage tier for hot and cold
Adult popularity is extremely concentrated. If hot and long-tail renditions share one cache tier, a niche title can evict bytes everyone is watching, forcing re-fetch of the hot set. Tier the cache: edge for high-demand ranges, a shield or mid-tier for broader retention, and object storage for the cold tail. Move cold originals to cheaper storage classes and keep only derivatives near the edge.
What good looks like
- Byte offload and origin bytes are the cost KPIs, reported per region and ASN.
206range responses come from cache; origin bytes track viewership, not requests.- A shield collapses identical misses; soft invalidation replaces hard purge on hot objects.
- Hot-set pre-warm runs ahead of promotions; cold originals live on cheaper storage.
How to prove it
Route 5–10% of one hostname through a tuned path and compare byte offload, origin bytes, and delivered cost against the incumbent. This is a controlled test, not a migration, and it produces the only number that matters: cost per delivered byte and cost per view.
Related reading
- Video CDN overview for range and
206behaviour. - Cache control and cache keys for key and validator hygiene.
- Why tube-site video buffers for the seek-side mechanics.