Počasen Amazon Cloudfront CDN

Na določene trenutke je cloudfront "počasen" in za 120kb velik fajl pingdom kaže tudi več kot 1s ali celo 2. Če poskusim ponovno včasih hitro naloži, čez nekaj minut ali ur pa spet počasi. Včasih pa tudi v drugem poskusu določene fajle počasi nalaga.

Zgleda kot da je fajl keširan samo kratek čas, čeprav sem dal v nastavitvah da ostane dlje kot 1 dan. Minimum TTL je nastavljen na 186400, a ve kdo v čemu je fora da ne nalaga hitreje?

Kako hitro vam nalaga?

Tole je test, lokacija Dallas. Strežnik je v UK. Dosktirat cloudfront tudi v drugem poskusus nalaga posamezen fajl dlje kot traja DOM nalaganje iz drugega kontinenta.

4 odgovori

Prvi odgovor iz posameznega cache strežnika je vedno počasnejši, ker gre po vsebino na origin strežnik. Kasnejše zahteve pa so hitre.

Ker je cache strežnikov več se lahko zgodi, da naslednja zahteva pride na drug strežnik (to lahko preveriš v log datotekah na origin strežniku).

V headerju odgovora lahko preveriš, na kakšen način je cache dobil datoteko (vrednost X-Cache).

Mi je jasno da prvi zahtevek traja dlje. Ampak tu ni govora o prvem zahtevku. Če sprožim v 1 dnevu recimo 10 testov iz iste lokacije, bo v vsaj 3 testih vsaj en fajl nalagalo dlje od 1s, včasih tudi po 4s.

Saj pravim, cache strežnikov je več. Če zahteva pade na takega, ki vsebine še nima, gre spet iskat direktno.

Date: Sun, 01 May 2016 16:36:11 GMT
X-Cache: Hit from cloudfront
Via: 1.1 bec1424c85a1269d5579c9004411d0f1.cloudfront.net (CloudFront)
X-Amz-Cf-Id: st-eFuX4Gu6cqsvtHnv134ZqcXKrXmAyZOhf3Ri9nVd09hVVQ5Hnbg==

Date: Sun, 01 May 2016 16:38:38 GMT
X-Cache: Miss from cloudfront
Via: 1.1 e018d6e4d9703845cd533602c08bfac9.cloudfront.net (CloudFront)
X-Amz-Cf-Id: liiT70aQ7WurVqzHL7X0SL3d9neCqvtKItLG_8jrbTIwVdZdd5cNsQ==

Tvoj origin strežnik ne vrača nobenih headerjev glede poteka. Je to namenoma?

Poglej še dokument: Specifying How Long Objects Stay in a CloudFront Edge Cache (Expiration).

Preveri še druge CDN ponudnike, morda boš imel drugačne rezultate (npr. CloudFlare).

Tnx. Ni namenoma, ampak tako in tako nima vpliva, ker sem izbral Customized caching in Minimum TTL nastavil na 2 dni.