Ako paralelizovať sťahovanie naprieč názvami hostiteľov

click fraud protection

Niektoré nástroje na testovanie rýchlosti šírky pásma môžu odporučiť stránkam paralelné sťahovanie hostname na efektívne poskytovanie webového obsahu webovým prehliadačom. Toto odporúčanie sa zvyčajne vyskytuje na webových stránkach, ktoré používajú protokol HTTP / 1.1, a stane sa, keď webové prehliadače obmedzia počet súčasných pripojení k doméne.

Webové stránky, ktorých je veľa HTTP žiadosti o statický obsah (napríklad obrázky, CSS súbory a JavaScript) narazia na varovanie Parallelize Downloads Across Hostnames. Ak chcete obísť toto obmedzenie, nastavte zdieľanie domén alebo použite sieť na doručovanie obsahu (CDN).

Hlavným štandardom sa stal protokol HTTP / 2, vďaka ktorému je potreba paralelného sťahovania zastaraná. Väčšina webových hostiteľov teraz predvolene používa protokol HTTP / 2 a sprístupňuje bezplatnú CDN nejakého druhu. Pretože Google teraz uprednostňuje protokol HTTP / 2, zvážte aktualizáciu svojho webu a hostenia na HTTPS.

Prečo paralelizovať sťahovanie cez názvy hostiteľov?

instagram viewer

Webové prehľadávače môžu otvoriť iba obmedzený počet súbežných pripojení na jeden názov hostiteľa pre webové stránky, ktoré používajú protokol HTTP / 1.1. Tento limit môže byť až šesť pripojení.

Ak je potrebné stiahnuť viac zdrojov, musia ďalšie zdroje čakať v rade nevybavených položiek, kým nebude k dispozícii pripojenie. Zdroje vo fronte sú blokované a zníženie tohto času blokovania má za následok rýchlejšie načítanie stránky.

Napríklad, ak má webová stránka 12 obrázkov a počet pripojení povolených webovým prehliadačom je šesť, potom musí byť v nevybavenom stave počkaných šesť obrázkov. Obrázky v backlogu zostanú tam, kým sa neskončí sťahovanie prvých šiestich obrázkov.

Ak sa obrázok, napríklad ikona alebo logo, použije viackrát, znížte počet žiadostí o prostriedky pomocou CSS Sprite pre tieto opakované obrázky.

Čo je varovanie Paralelizácia sťahovania naprieč názvami hostiteľov?

Varovanie o paralelnom sťahovaní medzi názvami hostiteľov je pravidlo používané v niektorých nástrojoch na kontrolu výkonu webových stránok. Varovanie naznačuje, že tento webový prehľadávač nemohol otvoriť počet pripojení potrebných na súčasné stiahnutie všetkých prostriedkov webovej stránky.

Pre webové stránky, ktoré používajú protokol HTTP / 1.1, je potrebné túto cestu otvorenejšieho spojenia obísť minimalizovať požiadavky HTTP, zriadiť sieť CDN alebo implementovať zdieľanie domén.

Pre webové stránky, ktoré používajú protokol HTTP / 2, sa môže naraz načítať viac zdrojov naraz cez jedno pripojenie; nazýva sa to multiplexovanie. Pri multiplexovaní nie je potrebné zdieľanie domén pomocou protokolu HTTP / 2. Asi 77 percent webových prehľadávačov podporuje protokol HTTP / 2 a pri paralelnom sťahovaní by sa nemali vyskytnúť žiadne problémy.

Ak váš poskytovateľ webhostingu podporuje protokol HTTP / 2, je bezpečné ignorovať varovanie týkajúce sa paralelného sťahovania naprieč názvami hostiteľov. S protokolom HTTP / 2 je možné paralelne stiahnuť viac zdrojov na jednom pripojení.

Čo je to zdieľanie domén?

Rozdelenie domén je metóda optimalizácie výkonu pre pripojenia HTTP / 1.1 a používa sa na webových stránkach s veľkým objemom požiadaviek HTTP. Pri zdieľaní domén sú aktíva webového obsahu rozdelené medzi niekoľko subdomén. Keď sa aktíva distribuujú týmto spôsobom, zvyšuje sa počet simultánnych požiadaviek, ktoré je možné spracovať.

Pri delení domén sa obsah nahráva na subdomény bez súborov cookie. Používatelia neinteragujú so statickým obsahom, ako sú obrázky, súbory JavaScript a súbory CSS, takže tento obsah nemusí byť pripojený k súborom cookie.

Ak subdomény neposkytujú súbory cookie, veľkosť požiadaviek podaných na stránku a latenciu požiadaviek sa zmenšuje a webové stránky sa načítavajú rýchlejšie. Medzi príklady obsahu, ktorý ťaží z rozdelenia domény, patria stránky s obsahom, ktorý sa zriedka ukladá do medzipamäte, napríklad stránka s miniatúrami alebo archív obrázkov.

V Drupale moduly pridávajú súbory CSS a JavaScript, ktoré môžu spomaliť výkon. Ísť do Konfigurácia stránok > Výkon a optimalizovať CSS a JavaScript.

Ak chcete využiť výhody zdieľania domén pri pripojení HTTP / 1.1, postupujte podľa týchto tipov:

  • Poskytujte prostriedky z rovnakých subdomén na efektívne ukladanie súborov do medzipamäte.
  • Rozdeľte zdroje rovnomerne medzi subdomény.
  • Zakúpte si certifikáty SSL pre subdomény.

V prípade pripojení HTTP / 2 znižuje rozdelenie domény výkon, pretože existujú ďalšie vyhľadávania DNS. Tieto vyhľadávania DNS predlžujú čas rozlíšenia a neukládajú súbory do medzipamäte. Delenie domén tiež pridáva čas každému novému pripojeniu. Toto sú ďalšie nevýhody zdieľania domén na pripojeniach HTTP / 2:

  • Distribuovanie zdrojov, ktoré sa načítajú z CSS, je ťažké rozdeliť medzi rozdelených hostiteľov.
  • Vyššie zaťaženie servera zo zvýšeného počtu súčasných pripojení.
  • Presunutím statického obsahu do subdomény môže dôjsť k porušeniu kódu.
  • Webový prehliadač nemusí umožňovať prístup k inému názvu hostiteľa.
  • Smerovače nemusia byť schopné klasifikovať veľké množstvo zlomených požiadaviek alebo môžu tieto požiadavky považovať za útok odmietnutia služby.

Ako paralelizovať sťahovanie naprieč názvami hostiteľov

Keď dostanete varovanie o paralelnom sťahovaní naprieč názvami hostiteľov, budete musieť zvýšiť paralelizáciu sťahovania distribúciou požiadaviek medzi viaceré názvy hostiteľov. Ak chcete distribuovať požiadavky, vytvorte subdomény pre rôzne typy webových aktív používaných na webe a potom zadajte koreňovú doménu ako jedinú doménu, ktorá používa súbory cookie. Subdomény nepoužívajú súbory cookie.

Tieto subdomény pridávajú nové zdroje pripojení, ktoré môže prehliadač nadviazať, a umožňujú stiahnutie viacerých zdrojov naraz. Keď sú zdroje rozdelené medzi subdomény, strávi webový prehľadávač menej času blokovaním webového obsahu a rýchlejšie sa načítajú webové stránky.

Pre webové stránky, ktoré používajú HTTP / 2 a HTTP / 1.1, je najjednoduchší spôsob paralelného sťahovania naprieč názvami hostiteľov použitie viacerých subdomén prostredníctvom siete CDN. Pre webové stránky používajúce protokoly HTTP / 1.1 a WordPress nastavte subdomény a upravte súbor WordPress functions.php.

Nastaviť subdomény

Ak chcete distribuovať zdroje medzi subdomény, vytvorte aspoň jednu a až štyri subdomény; odporúča sa jedna alebo dve subdomény. Najbežnejším spôsobom vytvárania subdomén je použitie cPanel, ktorý ponúka väčšina webhostingových služieb.

Príklady subdomén sú:

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

Subdomény a názvy hostiteľov tiež musia mať rovnakú štruktúru a cestu. Ak je napríklad cesta k obrázku v hostiteľovi www.mydomain.com/wp-content/uploads/, cesta k obrázku v subdoménach sa musí zhodovať, napríklad media1.mydomain.com/wp-content/uploads/.

Nastavte sieť CDN na paralelné sťahovanie

Po nastavení siete CDN a vytvorení subdomén nasmerujte každú subdoménu do priečinka, ktorý obsahuje statický obsah. Týmto spôsobom sa obsah načíta cez subdoménu namiesto hlavnej domény.

Ak chcete nasmerovať subdoménu, použite editor zón DNS v cPanel na vytvorenie nového záznamu CNAME pre každú subdoménu. Do poľa Názov záznamu zadajte subdoménu, napríklad media.mydomain.com. Do poľa CNAME zadajte hlavnú doménu, napríklad www.mydomain.com.

Po vytvorení a propagácii záznamov CNAME vaším webovým hostiteľom pridajte záznamy CNAME do nastavení zóny CDN.

Upravte súbor konfigurácie webových stránok na WordPress a paralelizujte tak sťahovanie

Po nastavení subdomén pridajte tento kód do súboru functions.php témy WordPress použitej pre váš web. Nahraďte media1.mydomain.com a media2.mydomain.com svojimi skutočnými subdoménami.

funkcia parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // volanie doplnkovej funkcie
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
vrátiť $ url;
}
funkcia par_get_hostname ($ name) {
$ subdomains = array ('media1.mydomain.com', 'media2.mydomain.com'); // tu pridajte svoje subdomény, koľko chcete.
$ host = abs (crc32 (basename ($ name))% count ($ subdomény));
$ hostname = $ subdomény [$ host];
vrátiť $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

Ak používate Jetpack s WordPress, povoľte službu Site Accelerator, aby vaše obrázky mohli byť umiestnené na CDN spravovanom WordPressom.

instagram story viewer