CDN eller host selv

Tags:    cdn

Hej..

Jeg er begyndt at bruge et project fra github, og kom til at tænke over om det ville være dumt at hoste det selv i stedet for at bruge deres CDN.

Det eneste jeg selv har imod CDN er hvis der skulle opstå DNS problmer eller lange svartider.

syndes jeg har oplevet lidt lange svartider ved at bruge Googles CDN til jQuery, et par gange før.

Bruger i CDN eller ej, godt/skidt?





Fordelen ved at bruge google's cdn er, at besøgende tit vil have en cached udgave fra en anden side.

Derfor vil det være hurtigere end hvis du hostede den selv - uanset om det er hurtigere at hente den fra din egen side.

Du kan lave et fallback på din side, så den loader den lokalt hvis den ikke kunne finde den på google's cdn. Eksemplet herunder er taget fra html5boilerplate ( www.html5boilerplate.com )

Fold kodeboks ind/udHTML kode 




Fordelen ved at bruge google's cdn er, at besøgende tit vil have en cached udgave fra en anden side.

Derfor vil det være hurtigere end hvis du hostede den selv - uanset om det er hurtigere at hente den fra din egen side.

Du kan lave et fallback på din side, så den loader den lokalt hvis den ikke kunne finde den på google's cdn. Eksemplet herunder er taget fra html5boilerplate ( www.html5boilerplate.com )

Fold kodeboks ind/udHTML kode 


Ja helt klart en fordel at de har flere server rundt omkring (for det meste) tætter på folk fra udlandet, og cache som du er inde på.

Måske bare pga jeg er på 3G net og har oplevet "venter på google.com/....." i min browser et par gange at jeg tvivler på hvor vidt om det er smart eller ej.






Er du sikker på at det er deres CDN for jquery osv, og ikke reklamer eller lignende?

Ellers kan det skyldes at iOS mobilewebkit ikke cacher filer større end 25kb (jquery er 31 kb minified) - ved ikke om det samme gør sig gældende for android eller andre mobil platforme også...

Hvis det er det sidste der er tilfældet - så vil det ikke gøre den store forskel at den ligger på din egen side - for det tager jo bare lidt tid at hente det, uanset hvor det er hosted.

Det kan også bare skyldes at det er forskellige versioner af jquery fra googles cdn.

Jeg tvivler på at googles cdn er langsommere end dit eget host. Og i forhold til load-time optimering er det positivt at du henter de eksterne ressourcer fra forskellige webhosts. Browsere er generelt begrændset til at have 2 connections per hostname.

Der er mange måder at optimere det på - hvis du har lyst til at studere det lidt nærmere, så kig på http://code.google.com/intl/da-DK/speed/page-speed/docs/rtt.html og især http://code.google.com/intl/da-DK/speed/page-speed/docs/rtt.html#PutStylesBeforeScripts

En anden god ressource: http://developer.yahoo.com/performance/rules.html



Indlæg senest redigeret d. 25.02.2012 14:24 af Bruger #17015
Er du sikker på at det er deres CDN for jquery osv, og ikke reklamer eller lignende?

Ellers kan det skyldes at iOS mobilewebkit ikke cacher filer større end 25kb (jquery er 31 kb minified) - ved ikke om det samme gør sig gældende for android eller andre mobil platforme også...

Hvis det er det sidste der er tilfældet - så vil det ikke gøre den store forskel at den ligger på din egen side - for det tager jo bare lidt tid at hente det, uanset hvor det er hosted.

Det kan også bare skyldes at det er forskellige versioner af jquery fra googles cdn.

Jeg tvivler på at googles cdn er langsommere end dit eget host. Og i forhold til load-time optimering er det positivt at du henter de eksterne ressourcer fra forskellige webhosts. Browsere er generelt begrændset til at have 2 connections per hostname.

Der er mange måder at optimere det på - hvis du har lyst til at studere det lidt nærmere, så kig på http://code.google.com/intl/da-DK/speed/page-speed/docs/rtt.html og især http://code.google.com/intl/da-DK/speed/page-speed/docs/rtt.html#PutStylesBeforeScripts

En anden god ressource: http://developer.yahoo.com/performance/rules.html


Var nu i Chrome/Firefox på min iMac, har ikke testet det på min telefon(android), også lidt svært at tæste når det kun er nogen gange jeg har oplevet det.

det kan selvf være analytics, der er ik reklamer på den side hvor jeg brugte det på.



Indlæg senest redigeret d. 25.02.2012 14:28 af Bruger #3427
Hvis du åbner devtools/firebug kan du se hvilke filer den henter hvornår og hvor lang tid det tager.

At det skulle være jQuery fra Google CDN der er skyld i det tror jeg ikke. Der er en udbredt forståelse for at det er den bedste måde at gøre det på. Det tyder mere på at det er manglende optimering, efter min opfattelse... Og at hoste den selv vil i det tilfælde ikke have nogen positiv effekt.



Indlæg senest redigeret d. 25.02.2012 14:37 af Bruger #17015
Hvis du åbner devtools/firebug kan du se hvilke filer den henter hvornår og hvor lang tid det tager.

At det skulle være jQuery fra Google CDN der er skyld i det tror jeg ikke. Der er en udbredt forståelse for at det er den bedste måde at gøre det på. Det tyder mere på at det er manglende optimering, efter min opfattelse... Og at hoste den selv vil i det tilfælde ikke have nogen positiv effekt.


har ikke kigget nermere på det med firebug eller charles, har bare set der nogen gange står venter på google, vil lige prøve at kigge på det næste gang jeg oplever det.

men okay er nok bare mit net der skoder lidt nogen gange, ik sjovt at blive nedgraderet fra fiber til 3g :/

edit:
så gjore den det igen:
http://kenneth.wi.ots.dk/udvikleren/google_cdn.png



Indlæg senest redigeret d. 29.02.2012 13:37 af Bruger #3427
Jeg kan ikke lige dekode betydningen af farverne. Det ligner ikke det jeg er vandt til at se fra chrome dev-tools :-) Kan du kigge nærmere på det og tjekke hvad der er DNS lookup time, connection time, receive time osv.

Du får en 304 - Not modified fra serveren, så du burde kunne cache den, hvis du ikke allerede har den. Men den bruger stadig 10 sekunder på at hente den ind - det er skørt hvis det bare serveres fra cachen.

Det ville være fedt med en side at studere selv :-)



Jeg kan ikke lige dekode betydningen af farverne. Det ligner ikke det jeg er vandt til at se fra chrome dev-tools :-) Kan du kigge nærmere på det og tjekke hvad der er DNS lookup time, connection time, receive time osv.

Firebug i Firefox.


Du får en 304 - Not modified fra serveren, så du burde kunne cache den, hvis du ikke allerede har den. Men den bruger stadig 10 sekunder på at hente den ind - det er skørt hvis det bare serveres fra cachen.


ja præcis, 10sec for at indlæse fra hdd, men det er altså kun nogen gange den gør det (ik så tit, men sker)

Grøn: Connecting
Lilla: Waiting

så ik DNS eller sådan der tager tid. (dns er blå)

men hvis det kun er mig der har oplevet det forsætter jeg da bare med at bruge CDN :)
undret mig bare over det.


Det ville være fedt med en side at studere selv :-)

ik nemt når det kun er nogen gange det sker (og kan lige så godt være mit net), men jeg bruger:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>



Jeg må melde pas. Jeg kan ikke gennemskue hvorfor det sker - og jeg har ikke hørt om folk der har haft latency problemer med googles cdn før... :-/



t