Kuidas paralleelida allalaadimisi hostinimede vahel

click fraud protection

Mõned ribalaiuse kiiruse testimise tööriistad võivad soovitada saite allalaadimisi paralleelselt hostinimed veebibrauseritele veebisisu tõhusaks esitamiseks. See soovitus ilmneb tavaliselt saitidel, mis kasutavad HTTP / 1.1 protokolli, ja juhtub siis, kui veebibrauserid piiravad domeeniga üheaegsete ühenduste arvu.

Veebisaidid, millel on palju HTTP staatilise sisu taotlused (nt pildid, CSS failid ja JavaScripti) kuvatakse hoiatus paralleelselt allalaaditavate hostinimede vahel. Selle piirangu ületamiseks seadistage domeeni killustamine või kasutage sisuvõrku (CDN).

HTTP / 2 protokollist on saanud peamine standard, mis muudab paralleelsete allalaadimiste vajaduse vananenuks. Enamik veebimaju kasutavad nüüd vaikimisi HTTP / 2 ja teevad kättesaadavaks teatud tüüpi tasuta CDN-i. Kuna HTTP / 2 on praegu Google'i eelistus, kaaluge oma saidi värskendamist ja HTTPS-i hostimist.

Miks paralleelida allalaadimisi hostinimede vahel?

Veebibrauserid saavad HTTP / 1.1 protokolli kasutavate veebisaitide jaoks avada ainult piiratud arvu samaaegseid ühendusi hostinime kohta. See piir võib olla kuni kuus ühendust.

instagram viewer

Kui tuleb alla laadida rohkem ressursse, peavad lisaressursid ootama mahajäämusjärjekorras, kuni ühendus on saadaval. Järjekorras olevad ressursid on blokeeritud ja selle blokeerimisaja vähendamine toob kaasa kiirema lehe laadimisaja.

Näiteks kui veebilehel on 12 pilti ja veebibrauseri lubatud ühenduste arv on kuus, tuleb kuue pilti mahajäämuses oodata. Mahajäänud pildid jäävad sinna seni, kuni esimesed kuus pilti on alla laaditud.

Kui sellist pilti nagu ikooni või logo kasutatakse mitu korda, kasutage ressursitaotluste vähendamiseks nende korduvate piltide jaoks CSS Sprite'i.

Mis on hostinimede allalaadimiste paralleelsus?

Hoiatus allalaadimiste paralleelsuse kohta hostinimedes on reegel, mida kasutatakse mõnes veebisaidi toimivuskontrollis. Hoiatus näitab, et see veebibrauser ei suutnud kõigi veebisaitide ressursside üheaegseks allalaadimiseks vajalikku ühendust avada.

HTTP / 1.1-protokolli kasutavate veebisaitide puhul on võimalus avatumate ühenduste vajadusest mööda saada minimeerige HTTP-päringud, seadistage CDN või kasutage domeeni killustamist.

HTTP / 2 protokolli kasutavate veebisaitide jaoks saab ühe ühenduse kaudu paralleelselt laadida mitu ressurssi; seda nimetatakse multipleksimiseks. Multipleksimine muudab domeeni killustamise HTTP / 2 abil ebavajalikuks. Ligikaudu 77 protsenti veebibrauseritest toetab HTTP / 2 ja neil ei tohiks allalaadimiste paralleelimisel tekkida probleeme.

Kui teie veebimajutusteenuse pakkuja toetab HTTP / 2, on ohutu eirata hostinimede allalaadimiste paralleelsust. HTTP / 2 abil saab ühe ühenduse kaudu paralleelselt alla laadida mitu ressurssi.

Mis on domeeni jagamine?

Domeeni killustamine on HTTP / 1.1 ühenduste jõudluse optimeerimise meetod ja seda kasutatakse veebisaitidel, kus on palju HTTP-päringuid. Domeeni killustamisel jaotatakse veebisisu varad mitme alamdomeeni vahel. Sellisel viisil varade jagamisel suureneb samaaegselt töödeldavate taotluste arv.

Domeeni killustamisel laaditakse sisu üles küpsiseta alamdomeenidele. Kasutajad ei suhtle staatilise sisuga, näiteks piltide, JavaScripti ja CSS-failidega, seega ei pea seda sisu küpsistele lisama.

Kui alamdomeenid küpsiseid ei esita, väheneb lehele ja päringute latentsusele tehtud taotluste suurus ning veebilehed laaditakse kiiremini. Domeeni killustamisest kasu saavad näiteks sisu, mille sisu on harva vahemällu salvestatud, näiteks pisipiltide leht või pildiarhiiv.

Drupalis lisavad moodulid CSS- ja JavaScripti faile, mis võivad jõudlust aeglustada. Minema Saidi konfiguratsioon > Performance ning optimeerida CSS-i ja JavaScripti.

HTTP / 1.1 ühenduste domeeni killustamise eeliste kasutamiseks järgige neid näpunäiteid:

  • Esitage samade alamdomeenide ressursse failide tõhusaks vahemällu salvestamiseks.
  • Jagage ressursse ühtlaselt alamdomeenide vahel.
  • SSL-sertifikaatide ostmine alamdomeenidele.

HTTP / 2-ühenduste korral vähendab domeeni killustamine jõudlust, kuna on olemas täiendavaid DNS-i otsinguid. Need DNS-i otsingud pikendavad lahutusaega ega tee faile vahemällu. Domeeni kildude lisamine lisab ka aega igale uuele ühendusele. Need on muud domeeni killustamise HTTP / 2-ühenduste puudused:

  • CSS-ist laaditavate ressursside jaotamist on killustatud hostide vahel raske jagada.
  • Suurem koormus serverile samaaegsete ühenduste arvu suurenemise tõttu.
  • Staatilise sisu teisaldamine alamdomeeni võib koodi rikkuda.
  • Veebibrauser ei pruugi lubada juurdepääsu teisele hostinimele.
  • Ruuterid ei pruugi olla võimelised klassifitseerima suurt hulka killustatud taotlusi või võivad neid näha kui teenuse keelamise rünnakut.

Kuidas paralleelida allalaadimisi hostinimede vahel

Kui saate hoiatuse paralleelsete allalaadimiste kohta hostinimede vahel, peate suurendama allalaadimiste paralleelsust, jaotades taotlused mitme hostinime vahel. Taotluste levitamiseks looge saidil kasutatavate eri tüüpi veebivarade alamdomeenid ja määrake seejärel ainsaks domeeniks, mis kasutab küpsiseid juurdomeen. Alamdomeenid ei kasuta küpsiseid.

Need alamdomeenid lisavad uusi ühenduste allikaid, mida brauser saab luua, ja võimaldavad korraga alla laadida rohkem ressursse. Kui ressursid jagatakse alamdomeenide vahel, veedab veebibrauser vähem aega veebisisu blokeerimiseks ja veebilehtede laadimine toimub kiiremini.

Veebisaitide puhul, mis kasutavad HTTP / 2 ja HTTP / 1.1, on lihtsaim viis allalaadimiste paralleelseks muutmiseks hostinimedes mitme CDD kaudu alamdomeeni kasutamine. HTTP / 1.1 ja WordPressi kasutavate veebisaitide jaoks seadistage alamdomeenid ja redigeerige faili WordPress functions.php.

Alamdomeenide seadistamine

Ressursside jaotamiseks alamdomeenide vahel looge vähemalt üks ja kuni neli alamdomeeni; soovitatav on üks või kaks alamdomeeni. Kõige tavalisem viis alamdomeenide loomiseks on cPaneli kasutamine, mida pakuvad enamus veebimajutusteenused.

Alamdomeenide näited on:

  • media1.mydomain.com
  • media2.mydomain.com
  • media3.mydomain.com
  • media4.mydomain.com

Samuti peavad alamdomeenidel ja hostinimedel olema sama struktuur ja tee. Näiteks kui hosti pilditee on www.mydomain.com/wp-content/uploads/, peab alamdomeenide pilditee vastama näiteks media1.mydomain.com/wp-content/uploads/.

Allalaadimiste paralleelseks seadistamiseks seadistage CDN

Pärast CDN-i seadistamist ja alamdomeenide loomist suunake iga alamdomeen kausta, mis sisaldab staatilist sisu. Nii laaditakse sisu põhidomeeni asemel üle alamdomeeni.

Alamdomeeni osutamiseks kasutage cPaneli DNS-i tsooniredaktorit, et luua iga alamdomeeni jaoks uus CNAME-kirje. Sisestage kirje väljale nimi alamdomeen, näiteks media.mydomain.com. Sisestage väljale CNAME peamine domeen, näiteks www.mydomain.com.

Kui teie veebimajutus on CNAME-kirjed loonud ja levitanud, lisage CNAME-kirjed CDN-i tsooni sätetesse.

Allalaadimiste paralleelseks muutmiseks muutke WordPressi veebisaidi konfiguratsioonifaili

Pärast alamdomeenide seadistamist lisage see kood oma veebisaidi jaoks kasutatava WordPressi teema faili functions.php. Asendage media1.mydomain.com ja media2.mydomain.com oma tegelike alamdomeenidega.

funktsioon parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // kõne lisafunktsioon
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostinimi, $ url);
tagastage $ url;
}
funktsioon par_get_hostname ($ nimi) {
$ subdomains = massiiv ('media1.mydomain.com', 'media2.mydomain.com'); // lisage siia oma alamdomeenid, nii palju kui soovite.
$ host = abs (crc32 (basename ($ name))% count ($ alamdomeenid));
$ hostname = $ alamdomeenid [$ host];
tagastage $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

Kui kasutate Jetpacki koos WordPressiga, lubage oma piltide WordPressi hallatavale CDN-ile teenuse Site Accelerator teenus.

instagram story viewer