Onko Google JQueryn isännöimän kirjaston käytöstä TODELLINEN koskettava etu? Vai ladataanko se vain palvelimellemme?
Mitä mieltä olet tästä?
Kommentit
- Yksinkertainen google haku on antanut vastauksen …
Vastaus
Ulkoisen CDN: n käytöllä on kaksi pääetua kuten Google isännöimään jQuery:
- Se on nopeammin. Se on varmasti olla nopeampi kuin sivustosi ja todennäköisesti nopeampi kuin mikään itse määrittämäsi CDN.
- Se voi olla jo välimuistissa . Monet sivustot viittaavat jQueryyn myös Googlen CDN: ssä, joten jos he kävivät toisella sivustolla sen kanssa ennen sinun, sinun ei tarvitse edes ladata sitä.
Mahdollisuudet haittapuolet:
- Verkkotunnus voidaan estää (tämä on melko yleistä paikoissa kuten Kiina ). Voit ratkaista tämän hankkimalla paikallinen varavara ( katso hän miten ).
- Versioiden sirpaloituminen on melko suuri, joten sivustosi kävijöillä voi olla välimuistissa useita eri versioita, mutta ei sitä, johon viitoit ( katso täältä joitain viimeaikaisia tilastoja ). Tämä on kuitenkin ongelma vain ensimmäisen sivun latauksessa.
Kommentit
- Voitteko lähettää viitteitä paikallinen varavara?
- Kuten Zistolen huomauttaa aiemmin, toinen etu on, että se lataa verkkosivustojesi rinnalla muita resursseja. Voit lisätä sen myös tähän muuten loistavaan vastaukseen.
- Se ’ on hieman harhaanjohtava. Selaimet lataavat resursseja rinnan riippumatta siitä, missä niitä isännöidään, mutta niiden rajojen lukumäärä, joita ne ’ ll lataavat samalta isännältä kerralla.
- Ohitin, että niin rehellisesti se ’ ei täällä eikä siellä – tiedostoa voidaan ladata rinnakkain, mutta se ’ on myös ylimääräinen DNS-haku. Lisäksi mikä tahansa aikaero kumpikaan näistä tekee joka tapauksessa vähäpätöisen.
- Riittävän oikeudenmukainen. Mutta nopeilla yhteyksillä, eikö se voi johtaa nopeampaan kokonaiskuormitusaikaan, koska enemmän ” -putkesta ” voidaan käyttää?
vastaus
Toinen haittapuoli:
CDN: n avulla CDN: n operaattori voi seurata sivustojen kävijät. Siksi ne eivät maksa rahaa.
Kommentit
- Seuranta varmaa, mutta ei vierailijoita: molemmat jquery ’ omia ja google ’ jquery CDN -palvelimia isännöidään verkkotunnuksissa, jotka eivät ’ aseta tai käytä evästeitä (tämä on luultavasti myös suorituskyvyn optimointi), ja pyynnössä ’ ei ole todella tunnistettavissa olevia tietoja. CDN-palveluntarjoaja voi saada käsityksen IP-osoitteista ja joitain tilastoja käyttäjäagenttien merkkijonoista ja viitteistä. Tämä on luultavasti arvokasta, mutta se ’ ei sinänsä ole valtava yksityisyyden riski (jos nämä tietueet korreloivat toisen tietokannan kanssa – esimerkiksi yksilöityjen mainosten näyttäminen samaan aikaan – niin ehkä se voisi olla seurantaväline).
- Mielestäni voidaan pitää itsestäänselvyytenä (googlen tapauksessa), että tiedot korreloivat muiden tietokantojen kanssa, koska melkein kaikki käyttävät Googlea etsimään koko ajan. Sama asia Google-fonttien kanssa: Yritin äskettäin isännöidä fontteja palvelimella, mutta huomasin, että sitä on erittäin vaikea tehdä. Google ei kiellä sitä (avoimen lähdekoodin), mutta ne eivät ’ anna sinulle tiedostoja käyttövalmiina: Voit joko kääntää ne itse (mutta on no makefile), tai voit väärentää pyyntöjä palvelimille, joita käytetään niiden normaaliin toimittamiseen. Molempia ei voida suorittaa ei-teknikoille.
- Ehkä. Minulla ei ’ ole sisäpiiritietoa, joten se ’ on vaikea sanoa varmasti. Olen ’ varma, että se on ’ lll buginen ja siinä on merkittäviä aukkoja: Useimmissa Internetin käyttämissäni paikoissa on NAT, ja monissa on melko monella käyttäjällä, jolla on samanlaiset koneet (todennäköisesti identtiset UA-merkkijonot) – ’ d on mahdotonta tietää, mikä pyyntö tulee keneltä. Ja tietysti mitä Adsense- ja sosiaalisen jakamisen painikkeilla, heillä voi olla melkein aina luotettavampia keinoja, joten voin kuvitella, että he eivät vaivaudu. Kirjasinten osalta – olen ’ ladannut ne useita kertoja, joten en ymmärrä ’ ymmärrä tarkkaan, mitä tarkoitat tällä vaikealla?
- Selkeyden vuoksi: Olen ’ oletan, että suurimman osan tilastokeräilijöistä voi ja tulee seuraamaan suurinta osaa tekemistäsi verkkosivustokäynneistä. sosiaalisen jakamisen painikkeet (melko kattavat) ja mainokset, jotka ovat melkein kaikkialla. Joten ihmettelen, kuinka arvokasta mahdollisesti harhaanjohtavaa tietoa voimakkaasti välimuistissa olevista JS-pyynnöistä on – vedonlyöntiä olen ’ m, ei kovin, joten oletan, etteivät ne ’ Älä vaivaudu tunnistamaan ihmisiä henkilökohtaisesti CDN-palvelinta käyttävän JS: n avulla.
- Se ei ole niin välimuistissa kuin luulisi – Kun upotat fontteja käyttämällä tapaa, jolla google haluaa sen lisäämällä CSS-linkin fonts.googleapisiin. fi, jokainen sivunäkymä avaa yhteyden Googleen (näet ne Firebugissa). Sillä ’ ei ole väliä, välimuistissa vai ei. Latauksesta: Voitteko osoittaa minut paikkaan, josta voin ladata fontit korkealaatuisina eot-, woff-, ttf- ja svg-muotoisina (samat versiot, joita google tarjoaa, ei ulkoisia muuntimia)?
vastaus
CDN: n käyttäminen useiden palvelimien riippuvuuksien hajottamiseen tällä tavoin edustaa kompromissia kaistanleveyden ja viiveen välillä, olettaen, että vain välität suorituskyvystä.
Oletan muuten, että vaihtoehto ei ole vain sen isännöinti paikallisesti, vaan yhdistämällä se toisella paikallisella pyynnöllä – yleensä ei ole mitään hyvää syytä olla yhdistämättä, kun voit.
Jos kaistanleveys on ääretön, sinun on parasta olla pirstoutumatta, koska olet yhtä hidas kuin hitain palvelusi – koska viiveet eivät ole täysin ennustettavissa, riittävästi palveluja, vaikka ne olisivatkin nopeita, tarvitsee vain vähän epäonnea, jotta sivun lataus hidastuu.
Jos viive on 0, kuorman jakaminen useille palvelimille voi parantaa kaistanleveyttä hyödyntämällä monia palveluja rs (ei niin hyödyllinen, koska todennäköisesti kaistanleveysrajoitukset ovat lähellä asiakkaita, ei palvelimia), mutta mikä tärkeintä, se voi vähentää lähetettävän datan määrää lisäämällä välimuistin tehokkuutta.
Se riippuu skenaariosi, mutta odotan yleensä, että viive on enemmän ongelma kuin kaistanleveys, ellei skriptejäsi ole mielettömän suuria (mikä jquery ei ole). Siinä vaiheessa on yleensä nopeampi isännöidä jqueryä osana ketjutettua paikallista tiedostoa.
Syitä olla isännöimättä paikallisesti ovat esimerkiksi silloin, kun maksat kaistanleveydestä tai isännöit jollakin hitaalla palvelimella ( yhteys asiakkaaseen on pullonkaula puolellasi, ei asiakkaan kanssa, tai tiedät, että asiakkaidesi kaistanleveys on todella pieni (sanotaan esimerkiksi matalan tason dsl tai modeemeja – mobiililaitteilla on yleensä enemmän viiveongelmia kuin kaistanleveysongelmia) , tai asiakkaasi maksavat kaistanleveydestä (esim. mobiili) ja skriptit ovat niin huomattava osa siitä, että pieni välimuisti välittää voiton (ei todennäköisesti).
Joka tapauksessa: paljon olennaisempi on, onko sinä ” olen käsitellyt ensin perusasiat; sopivat välimuistin otsikot, ketjutus, pienentäminen ja gzippaus (mieluiten korkealla pakkaussuhteella). Ja tässä on ydin: jos teet niin EI T , niin ainakin CDN tekee niin, että se voittaa …
TL; DR: Jos sinulla on ketjutus + minisointi + gzippaus + välimuisti kaikki peitetyt, sitten pienten komentosarjojen tarjoaminen paikallisesti on nopeampaa kuin CDN: ltä CDN: n paremmasta suorituskyvystä huolimatta – mutta vain jos olet tehnyt kotitehtäväsi, et ehkä ensimmäisellä kerralla sivun lataus, ja tälle säännölle on ehdottomasti poikkeuksia.
Kommentit
- Muuten on olemassa joitain tavu-lastuja, jotka on voitettu käyttämällä vain yhtä pyyntöä: Pelkästään otsikot ovat melkein 1 kt, mikä 28 kt: n hyötykuormalla ei ole ’ mitään. gzip toimii paremmin useamman kontekstin kanssa, mikä säästää vielä 0,5 kt. TCP-, DNS-, HTTPS-yleiskustannukset voivat kaikki lisätä helposti KB täältä tai täältä, ja mikä pahempaa, RTT ’ s. Että ’ s miksi pienille tämän tyyppisille tiedostoille CDN on ei niin nopeasti kuin luulet.
Vastaa
Googlen käyttämä jQuery-kirjasto sallii sivusi olevan ladataan nopeammin. Kirjasto ladataan todellakin sivusi samaan aikaan sen jälkeen, kun se on.
Kommentit
- Mutta miten se vaikuttaa sivun lataamiseen?
- Paikalliset kirjastot ladataan myös sivua ladattaessa – Molemmissa tapauksissa resurssin lataus alkaa, kun (moderni) selain näkee latauksen käynnistävän koodinpätkän, joka tapahtuu yleensä ennen koko asiakirjan lataamista . Katso esimerkki tästä Firebug-kuvakaappauksesta