Kako vzporediti prenose prek imen gostiteljev

Nekatera orodja za testiranje hitrosti pasovne širine lahko priporočajo, da spletna mesta vzporedno vzpostavijo prenose gostiteljska imena za učinkovito strežbo spletnih vsebin do spletnih brskalnikov. To priporočilo se običajno pojavi na spletnih mestih, ki uporabljajo protokol HTTP / 1.1, in se zgodi, ko spletni brskalniki omejijo število hkratnih povezav do domene.

Spletne strani, ki jih je veliko HTTP zahteve za statično vsebino (na primer slike, CSS datoteke in JavaScript) naletijo na opozorilo o vzporednem prenosu datotek prek imen gostiteljev. Če želite odpraviti to omejitev, nastavite ostrenje domene ali uporabite omrežje za dostavo vsebine (CDN).

Protokol HTTP / 2 je postal glavni standard, zaradi česar so potrebe po vzporednih prenosih zastarele. Večina spletnih gostiteljev zdaj privzeto uporablja HTTP / 2 in da na voljo nekakšen brezplačen CDN. Ker je HTTP / 2 Googlova prednost zdaj, razmislite o posodobitvi spletnega mesta in gostovanju na HTTPS.

Zakaj vzporediti prenose prek imen gostiteljev?

instagram viewer

Spletni brskalniki lahko odprejo le omejeno število sočasnih povezav na ime gostitelja za spletna mesta, ki uporabljajo protokol HTTP / 1.1. Ta omejitev je lahko največ šest povezav.

Ko je treba prenesti več virov, morajo dodatni viri počakati v čakalni vrsti, dokler ne bo na voljo povezave. Viri v čakalni vrsti so blokirani in zmanjšanje tega časa blokiranja povzroči hitrejši čas nalaganja strani.

Če ima na primer spletna stran 12 slik in je število povezav, ki jih dovoljuje spletni brskalnik, šest, mora šest slik čakati v zaostanku. Slike v zaostanku ostanejo tam, dokler se ne prenese prvih šest slik.

Če se slika, kot je ikona ali logotip, uporablja večkrat, uporabite CSS Sprite za te ponavljajoče se slike, da zmanjšate zahteve po virih.

Kaj je opozorilo o vzporednem prenosu po imenih gostiteljev?

Opozorilo o vzporednem prenosu med imeni gostiteljev je pravilo, ki se uporablja v nekaterih preverjalnikih uspešnosti spletnih mest. Opozorilo nakazuje, da spletni brskalnik ni mogel odpreti števila povezav, potrebnih za hkratni prenos vseh virov spletnega mesta.

Pri spletnih mestih, ki uporabljajo protokol HTTP / 1.1, je treba to rešitev po bolj odprtih povezavah rešiti minimiziranje zahtev HTTP, nastavite CDN ali izvedite ostrenje domene.

Za spletna mesta, ki uporabljajo protokol HTTP / 2, se lahko v isti povezavi vzporedno naloži več virov; to se imenuje multipleksiranje. Multipleksiranje onemogoča ostrenje domen s HTTP / 2. Približno 77 odstotkov spletnih brskalnikov podpira HTTP / 2 in pri vzporednem prenosu ne bi smeli naleteti na nobeno težavo.

Če vaš ponudnik spletnega gostovanja podpira HTTP / 2, je varno prezreti opozorilo o vzporednem prenosu med imeni gostiteljev. S protokolom HTTP / 2 se lahko na isti povezavi vzporedno prenaša več virov.

Kaj je ostrenje domene?

Ostrenje domen je metoda optimizacije zmogljivosti za povezave HTTP / 1.1 in se uporablja na spletnih mestih z velikim številom zahtev HTTP. Pri razdeljevanju domen so sredstva spletne vsebine razdeljena med več poddomen. Ko se sredstva razdelijo na ta način, se poveča število sočasnih zahtev, ki jih je mogoče obdelati.

Pri ostrenju domene se vsebina naloži na poddomenah brez piškotkov. Uporabniki ne komunicirajo s statično vsebino, kot so slike, JavaScript in datoteke CSS, zato te vsebine ni treba priložiti piškotkom.

Ko poddomene ne strežejo piškotkov, se velikost zahtev za stran in zakasnitev zahtev zmanjša in spletne strani se nalagajo hitreje. Primeri vsebine, ki ima koristi od ostrenja domen, vključujejo strani z vsebino, ki je redko predpomnjena, na primer stran s sličicami ali arhiv slik.

V Drupalu moduli dodajajo datoteke CSS in JavaScript, ki lahko upočasnijo delovanje. Pojdi do Konfiguracija spletnega mesta > Izvedba in optimizirajte CSS in JavaScript.

Če želite izkoristiti prednosti ostrenja domen pri povezavah HTTP / 1.1, sledite tem nasvetom:

  • Za učinkovito predpomnjenje datotek strežite vire iz istih poddomen.
  • Vire enakomerno porazdelite med poddomene.
  • Nakup potrdil SSL za poddomene.

Pri povezavah HTTP / 2 ostrenje domene zmanjša zmogljivost, ker obstajajo dodatna iskanja DNS. Ta iskanja DNS povečajo čas ločljivosti in datotek ne shranijo v predpomnilnik. Ostrenje domene prav tako doda čas vsaki novi povezavi. To so še druge slabosti ostrenja domen pri povezavah HTTP / 2:

  • Razdeljevanje virov, ki se nalagajo iz CSS, je težko porazdeliti med ostrene gostitelje.
  • Večja obremenitev strežnika zaradi povečanega števila sočasnih povezav.
  • Premikanje statične vsebine v poddomeno lahko zlomi kodo.
  • Spletni brskalnik morda ne dovoli dostopa do drugega imena gostitelja.
  • Usmerjevalniki morda ne bodo mogli razvrstiti velikega števila ostrenih zahtev ali pa bodo zahteve videli kot napad zavrnitve storitve.

Kako vzporediti prenose prek imen gostiteljev

Ko prejmete opozorilo o paraleliziranju prenosov med imeni gostiteljev, boste morali povečati paralelizacijo prenosov z distribucijo zahtev med več imeni gostiteljev. Za distribucijo zahtev ustvarite poddomene za različne vrste spletnih sredstev, ki se uporabljajo na spletnem mestu, nato pa kot edino domeno, ki uporablja piškotke, določite korensko domeno. Poddomene ne uporabljajo piškotkov.

Te poddomene dodajajo nove vire povezav, ki jih lahko vzpostavi brskalnik, in omogočajo prenos več virov hkrati. Ko so viri razdeljeni med poddomene, spletni brskalnik porabi manj časa za blokiranje spletne vsebine in spletne strani se hitreje naložijo.

Za spletna mesta, ki uporabljajo HTTP / 2 in HTTP / 1.1, je najlažji način vzporednega prenosa po gostiteljskih imenih uporaba več poddomen prek CDN-ja. Za spletna mesta, ki uporabljajo HTTP / 1.1 in WordPress, nastavite poddomene in uredite datoteko WordPress functions.php.

Nastavite poddomene

Če želite vire razdeliti med poddomene, ustvarite vsaj eno in do štiri poddomene; priporoča se ena ali dve poddomeni. Najpogostejši način za ustvarjanje poddomen je uporaba cPanela, ki ga ponuja večina storitev spletnega gostovanja.

Primeri poddomen so:

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

Poddomene in gostiteljska imena morajo imeti enako strukturo in pot. Če je na primer pot do slike na gostitelju www.mydomain.com/wp-content/uploads/, se mora pot slike do poddomen ujemati, na primer media1.mydomain.com/wp-content/uploads/.

Nastavite CDN za vzporedno vzpostavljanje prenosov

Ko nastavite CDN in ustvarite poddomene, usmerite vsako poddomeno v mapo, ki vsebuje statično vsebino. Tako se vsebina naloži preko poddomene namesto glavne domene.

Če želite usmeriti poddomeno, uporabite urejevalnik območij DNS v cPanel, da ustvarite nov zapis CNAME za vsako poddomeno. V polje Ime vnesite poddomeno, na primer media.mydomain.com. V polje CNAME vnesite glavno domeno, na primer www.mydomain.com.

Potem ko vaš spletni gostitelj ustvari in razširi zapise CNAME, dodajte zapise CNAME v nastavitve območja CDN.

Uredite datoteko za konfiguriranje spletnega mesta v programu WordPress, da vzporedno prenesete datoteke

Ko nastavite poddomene, dodajte to kodo v datoteko functions.php teme WordPress, ki se uporablja za vaše spletno mesto. Zamenjajte media1.mydomain.com in media2.mydomain.com z vašimi dejanskimi poddomenami.

funkcija parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // pokličemo dodatno funkcijo
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
vrni $ url;
}
funkcija par_get_hostname ($ name) {
$ poddomene = polje ('media1.mydomain.com', 'media2.mydomain.com'); // tukaj dodajte svoje poddomene, kolikor jih želite.
$ host = abs (crc32 (osnovno ime ($ ime))% count ($ poddomene));
$ hostname = $ poddomene [$ host];
vrni $ hostname;
}
add_filter ('wp_get_attachment_url', 'vzporedno_ime_gostov', 10, 2);

Če uporabljate Jetpack z WordPressom, omogočite storitev Site Accelerator, da vaše slike postavi na CDN, ki ga upravlja WordPress.

instagram story viewer