Cache és CDN teljesítményhez
Hogyan csökkenti a cache és CDN a hálózati és szerveridőt, milyen asseteket érdemes hosszan cache-elni, és hol veszélyes a rossz cache key?
Röviden
A cache azt spórolja meg, amit nem kell újra kiszámolni vagy letölteni. A CDN ezt földrajzilag elosztva teszi: ha egy publikus response az edge-en újrahasznosítható, rövidebb utat és kisebb origin terhelést kapsz.
Mit jelent a cache és cdn teljesítményhez?
A cache azt spórolja meg, amit nem kell újra kiszámolni vagy letölteni. A CDN ezt földrajzilag elosztva teszi: ha egy publikus response az edge-en újrahasznosítható, rövidebb utat és kisebb origin terhelést kapsz.
Cache hit vagy origin?
Böngésző
GET /hero.webp
→
Origin / CDN
hálózati letöltés
Hogyan működik a gyakorlatban?
Hash-elt statikus assetnél hosszú `max-age`/immutable stratégia jól működik, mert új tartalom új URL-t kap. HTML és API esetén frissesség, personalization, cookie és authorization miatt sokkal tudatosabb cache policy és key kell.
- Cache hit rate fontosabb lehet, mint pusztán a CDN bekapcsolása.
- Stale-while-revalidate bizonyos tartalmaknál gyors választ és háttérfrissítést kombinálhat.
- Vary/cache key határozza meg, mely requestek osztozhatnak ugyanazon response-on.
- Purge/invalidation legyen része a publikálási folyamatnak, ha fix URL-en változik a tartalom.
Gyakorlati fejlesztői szemlélet
Térképezd fel route-onként: public és közös, public de gyorsan változó, user-private, vagy soha nem cache-elhető. Így a cache nem globális kapcsoló, hanem az adat természetéhez illesztett policy.
Gyakori hibák és félreértések
- Authenticated HTML-t véletlenül public cache-elni.
- Minden request cookie-t a cache keybe tenni és ezzel nullára vinni a hit rate-et.
- CDN mögött az origint ugyanúgy terhelni cache bypass miatt.
Források és szabványok
A technikai részletekhez elsődleges szabványokat és karbantartott hivatalos dokumentációt használok. Frameworkök, böngészők és webes API-k idővel változhatnak, ezért implementálás előtt mindig ellenőrizd az aktuális dokumentációt is.
Kapcsolódó ByBence Academy