Kako paralelizirati preuzimanja s različitih imena hostova

click fraud protection

Neki alati za ispitivanje brzine propusnosti mogu preporučiti web lokacijama koje paralelno preuzimaju imena hostova za učinkovito posluživanje web sadržaja web preglednicima. Ova se preporuka obično javlja na web mjestima koja koriste HTTP / 1.1 protokol i događa se kada web preglednici ograniče broj istovremenih veza na domenu.

Web stranice koje imaju mnogo HTTP zahtjevi za statičkim sadržajem (poput slika, CSS datoteke i JavaScript) nailaze na upozorenje Parallelize Downloads Across Hostnames. Da biste zaobišli ovo ograničenje, postavite oštrinu domene ili upotrijebite mrežu za isporuku sadržaja (CDN).

HTTP / 2 protokol postao je glavni standard, zbog čega je potreba za paraleliziranim preuzimanjima zastarjela. Većina web domaćina sada prema zadanim postavkama koristi HTTP / 2 i stavlja na raspolaganje neki besplatni CDN. Budući da je HTTP / 2 Googleova prednost sada, razmislite o ažuriranju svoje web lokacije i hostinga na HTTPS.

Zašto uspoređivati ​​preuzimanja s različitih imena hostova?

instagram viewer

Web preglednici mogu otvoriti ograničen broj istodobnih veza po imenu hosta za web stranice koje koriste protokol HTTP / 1.1. Ovo ograničenje može biti najviše šest veza.

Kada treba preuzeti više resursa, dodatni resursi moraju pričekati u redu zaostalih dok ne dođe do dostupne veze. Resursi u redu su blokirani, a smanjenje vremena blokiranja rezultira bržim vremenom učitavanja stranice.

Na primjer, ako web stranica ima 12 slika, a broj veza koje dopušta web preglednik je šest, tada šest slika mora čekati u zaostatku. Slike u zaostatku ostaju tamo dok se ne završi preuzimanje prvih šest slika.

Ako se slika poput ikone ili logotipa koristi više puta, upotrijebite CSS Sprite za ove ponovljene slike kako biste smanjili zahtjeve za resursima.

Što je upozorenje za paraleliziranje preuzimanja preko imena hostova?

Paralelizacija preuzimanja putem upozorenja imena hostova pravilo je koje se koristi u nekim alatima za provjeru performansi web mjesta. Upozorenje ukazuje da taj web preglednik nije mogao otvoriti broj veza potrebnih za istovremeno preuzimanje svih resursa web mjesta.

Za web stranice koje koriste HTTP / 1.1 protokol način za zaobilaženje ove potrebe za otvorenijim vezama je minimiziranje HTTP zahtjeva, postavite CDN ili implementirajte osipanje domene.

Za web stranice koje koriste HTTP / 2 protokol, više se izvora može paralelno učitati putem jedne veze; to se naziva multipleksiranje. Multipleksiranje čini oštrenje domena nepotrebnim pomoću HTTP / 2. Oko 77 posto web preglednika podržava HTTP / 2 i ne bi smjelo naići na bilo kakav problem s paraleliziranjem preuzimanja.

Ako vaš davatelj usluga web hostinga podržava HTTP / 2, sigurno je zanemariti upozorenje za paraleliziranje preuzimanja na imenima hostova. S HTTP / 2, više se izvora može paralelno preuzimati na jednoj vezi.

Što je osenčenje domene?

Dijeljenje domena metoda je optimizacije izvedbe za HTTP / 1.1 veze i koristi se na web mjestima s velikim brojem HTTP zahtjeva. U oštrenju domena, imovina web sadržaja distribuira se između nekoliko poddomena. Kada se imovina distribuira na ovaj način, povećava se broj istodobnih zahtjeva koji se mogu obraditi.

U sječenju domena sadržaj se prenosi na poddomene bez kolačića. Korisnici ne stupaju u interakciju sa statičkim sadržajem kao što su slike, JavaScript i CSS datoteke, pa taj sadržaj ne treba priložiti kolačićima.

Kada poddomene ne poslužuju kolačiće, veličina zahtjeva upućenih za stranicu i kašnjenje zahtjeva smanjuje se, a web stranice se brže učitavaju. Primjeri sadržaja koji imaju koristi od oštrenja domena uključuju stranice sa sadržajem koji se rijetko čuva u predmemoriji, poput stranice minijatura ili arhive slika.

U Drupal, moduli dodaju CSS i JavaScript datoteke koje mogu usporiti performanse. Ići Konfiguracija web mjesta > Izvođenje i optimizirati CSS i JavaScript.

Da biste iskoristili blagodati osirenja domene na HTTP / 1.1 vezama, slijedite ove savjete:

  • Poslužujte resurse s istih poddomena za učinkovito predmemoriranje datoteka.
  • Ravnomjerno rasporedite resurse među poddomenama.
  • Kupite SSL certifikate za poddomene.

Na HTTP / 2 vezama, osenčenje domene smanjuje performanse jer postoje dodatna DNS pretraživanja. Ova DNS pretraživanja povećavaju vrijeme razlučivosti i ne spremaju datoteke u predmemoriju. Oštrenje domene također dodaje vrijeme svakoj novoj vezi. Sljedeći su nedostaci oštrenja domene na HTTP / 2 vezama:

  • Distribuciju resursa koji se učitavaju iz CSS-a teško je distribuirati između oštrih domaćina.
  • Veće opterećenje na poslužitelju zbog povećanog broja istodobnih veza.
  • Premještanjem statičkog sadržaja na poddomenu može se slomiti kôd.
  • Web preglednik možda neće dopustiti pristup drugom imenu hosta.
  • Usmjerivači možda neće moći klasificirati velik broj oštrih zahtjeva ili ih mogu smatrati napadom uskraćivanja usluge.

Kako paralelizirati preuzimanja s različitih imena hostova

Kad primite upozorenje za paraleliziranje preuzimanja na imenima hostova, morat ćete povećati paralelizaciju preuzimanja distribucijom zahtjeva među više imena hosta. Da biste distribuirali zahtjeve, stvorite poddomene za različite vrste web elemenata koji se koriste na web mjestu, a zatim navedite korijensku domenu kao jedinu domenu koja koristi kolačiće. Poddomene ne koriste kolačiće.

Te poddomene dodaju nove izvore veza koje preglednik može uspostaviti i omogućuju istovremeno preuzimanje više resursa. Kada se resursi podijele između poddomena, web preglednik troši manje vremena na blokiranje web sadržaja i web stranice se brže učitavaju.

Za web stranice koje koriste HTTP / 2 i HTTP / 1.1, najlakši način paraleliziranja preuzimanja kroz imena hosta je korištenje više poddomena putem CDN-a. Za web stranice koje koriste HTTP / 1.1 i WordPress postavite poddomene i uredite datoteku WordPress functions.php.

Postavljanje poddomena

Da biste distribuirali resurse po poddomenama, stvorite najmanje jednu i do četiri poddomene; preporuča se jedna ili dvije poddomene. Najčešći način stvaranja poddomena je uporaba cPanela, koji nudi većina usluga web hostinga.

Primjeri poddomena su:

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

Također, poddomene i imena hostova moraju imati istu strukturu i put. Na primjer, ako je put slike na hostu www.mydomain.com/wp-content/uploads/, put slike do poddomena mora odgovarati, na primjer, media1.mydomain.com/wp-content/uploads/.

Postavite CDN za paraleliziranje preuzimanja

Nakon postavljanja CDN-a i stvaranja poddomena, usmjerite svaku poddomenu na mapu koja sadrži statički sadržaj. Na taj se način sadržaj učitava preko poddomene umjesto glavne domene.

Da biste usmjerili poddomenu, upotrijebite uređivač DNS zone u cPanelu da biste stvorili novi CNAME zapis za svaku poddomenu. U polje Ime zapisa unesite poddomenu, na primjer, media.mydomain.com. U polje CNAME unesite glavnu domenu, na primjer, www.mydomain.com.

Nakon što vaš web domaćin kreira i širi CNAME zapise, dodajte CNAME zapise u postavke CDN zone.

Uredite datoteku za konfiguriranje web stranice u WordPressu kako biste paralelizirali preuzimanja

Nakon što postavite poddomene, dodajte ovaj kôd u datoteku functions.php teme WordPress koja se koristi za vaše web mjesto. Zamijenite media1.mydomain.com i media2.mydomain.com stvarnim poddomenama.

funkcija parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // poziv dopunske funkcije
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
vrati $ url;
}
funkcija par_get_hostname ($ name) {
$ poddomene = niz ('media1.mydomain.com', 'media2.mydomain.com'); // dodajte svoje poddomene ovdje koliko god želite.
$ host = abs (crc32 (osnovno ime ($ ime))% count ($ poddomene));
$ hostname = $ poddomene [$ host];
vrati $ hostname;
}
dodaj_filter ('wp_get_attachment_url', 'paraleliziraj_hostova imena', 10, 2);

Ako Jetpack koristite s WordPressom, omogućite uslugu Site Accelerator da vaše slike stave na CDN kojim upravlja WordPress.

instagram story viewer