Néhány sávszélesség-sebességtesztelő eszköz javasolhatja, hogy a webhelyek párhuzamosan állítsák össze a letöltéseket hostnevek a webtartalom hatékony böngészők számára történő kiszolgálása. Ez az ajánlás általában a HTTP / 1.1 protokollt használó webhelyeken fordul elő, és akkor fordul elő, amikor a webböngészők korlátozzák a tartományhoz egyidejűleg létrehozott kapcsolatok számát.
Számos webhely HTTP statikus tartalom (például képek, CSS fájlok és a JavaScript) megjelenik a Parallelize Downloads Across Hostnames figyelmeztetés. Ennek a korlátozásnak a kiküszöbölése érdekében állítson be tartománydarabolást vagy használjon tartalomszolgáltató hálózatot (CDN).
A HTTP / 2 protokoll lett a fő szabvány, ami elavulttá tette a párhuzamos letöltések szükségességét. A legtöbb webtárhely alapértelmezés szerint a HTTP / 2-t használja, és elérhetővé tesz valamilyen ingyenes CDN-t. Mivel a HTTP / 2 a Google előnyben részesítése most, fontolja meg webhelye frissítését és HTTPS-re történő tárolását.
Miért kell párhuzamosítani a letöltéseket a gazdagépneveken?
A webböngészők hosztnévenként csak korlátozott számú egyidejű kapcsolatot nyithatnak meg a HTTP / 1.1 protokollt használó webhelyek számára. Ez a korlát akár hat kapcsolat is lehet.
Ha további erőforrásokat kell letölteni, a további erőforrásoknak egy elmaradt várólistában kell várniuk, amíg rendelkezésre áll a kapcsolat. A sorban lévő erőforrások blokkolva vannak, és ennek a blokkolási időnek a csökkentése gyorsabb oldalbetöltési időt eredményez.
Például, ha egy weboldal 12 képpel rendelkezik, és a böngésző által engedélyezett kapcsolatok száma hat, akkor hat képre kell várni a lemaradásban. A lemaradt képek ott maradnak, amíg az első hat kép nem fejeződik be.
Ha egy képet, például egy ikont vagy logót többször használ, az erőforrás-kérelmek csökkentése érdekében használjon CSS Sprite-et ezekhez az ismételt képekhez.
Figyelmeztetés a gazdagépnevek közötti párhuzamos letöltésekre?
A letöltések párhuzamosítása a gazdagépneveken keresztüli figyelmeztetés egy szabály, amelyet egyes webhelyek teljesítményellenőrzői használnak. A figyelmeztetés azt jelzi, hogy az a webböngésző nem tudta megnyitni az összes webhely-erőforrás egyidejű letöltéséhez szükséges kapcsolatok számát.
A HTTP / 1.1 protokollt használó webhelyek esetében a nyitottabb kapcsolatok szükségességének megkerülése az minimalizálja a HTTP kéréseket, állítson be egy CDN-t, vagy valósítson meg tartománydarabolást.
A HTTP / 2 protokollt használó webhelyeknél több erőforrás párhuzamosan tölthető be egyetlen kapcsolaton keresztül; ezt nevezzük multiplexelésnek. A multiplexelés szükségtelenné teszi a tartomány szilánkosítását a HTTP / 2 használatával. A webböngészők körülbelül 77 százaléka támogatja a HTTP / 2-t, és a letöltések párhuzamosításával semmilyen problémával nem kell találkoznia.
Ha webtárhely-szolgáltatója támogatja a HTTP / 2-t, biztonságos figyelmen kívül hagyni a párhuzamos letöltéseket a gazdagépneveken. A HTTP / 2 használatával több erőforrás tölthető le párhuzamosan, egy kapcsolaton keresztül.
Mi a domain megosztása?
A tartománymegszakítás a HTTP / 1.1 kapcsolatok teljesítményoptimalizálási módszere, és nagy mennyiségű HTTP kéréssel rendelkező webhelyeken használják. A tartományok feldarabolása során a webtartalom-eszközöket több aldomain között osztják szét. Az eszközök ilyen módon történő elosztása esetén nő a feldolgozható egyidejű kérelmek száma.
A tartományok feldarabolása során a tartalmat cookie-mentes aldomainekre töltik fel. A felhasználók nem lépnek kapcsolatba statikus tartalommal, például képekkel, JavaScript-sel és CSS-fájlokkal, ezért ezt a tartalmat nem kell csatolni a cookie-khoz.
Ha az aldomainek nem szolgálnak fel cookie-kat, az oldalra és a kérelem késleltetésére vonatkozó kérelmek mérete csökken, és a weboldalak gyorsabban betöltődnek. A domain szilánkosításának előnyei közé tartoznak az olyan oldalak, amelyek tartalma ritkán van gyorsítótárban, például egy indexkép vagy képarchívum.
A Drupalban a modulok CSS és JavaScript fájlokat adnak hozzá, amelyek lassíthatják a teljesítményt. Menj Site Config > Teljesítmény és optimalizálja a CSS-t és a JavaScript-et.
Kövesse az alábbi tippeket, hogy kihasználhassa a HTTP / 1.1 kapcsolatok tartományának feldarabolásának előnyeit:
- Kiszolgálja ugyanazon aldomainek erőforrásait a fájlok gyorsítótárazása érdekében.
- Az erőforrásokat egyenletesen ossza el az aldomainek között.
- Vásároljon SSL-tanúsítványokat az aldomainekhez.
A HTTP / 2 kapcsolatokon a tartományok feldarabolása csökkenti a teljesítményt, mert további DNS-keresések is vannak. Ezek a DNS-keresések megnövelik a felbontási időt, és nem tárolják a fájlokat. A tartomány feldarabolása időt ad az új kapcsolatoknak is. A HTTP / 2 kapcsolatokon történő tartományrészesedés további hátrányai:
- A CSS-ből betöltődő erőforrások elosztását nehéz megosztani a megosztott gazdagépek között.
- Nagyobb terhelés a szerveren az egyidejű kapcsolatok számának megnövekedésével.
- A statikus tartalom aldomainbe történő áthelyezése megszakíthatja a kódot.
- Előfordulhat, hogy a webböngésző nem engedélyezi a hozzáférést egy másik gazdagépnévhöz.
- Előfordulhat, hogy az útválasztók nem képesek sok osztályozott kérést osztályozni, vagy a szolgáltatásmegtagadási támadásnak tekinthetik a kéréseket.
Hogyan lehet párhuzamosítani a letöltéseket az állomásnevek között
Amikor figyelmeztetést kap a párhuzamos letöltésekről a gazdagépneveken, akkor növelnie kell a letöltések párhuzamosítását azáltal, hogy a kérelmeket több gazdagépnévre osztja szét. A kérelmek terjesztéséhez hozzon létre aldomaineket a webhelyen használt különféle típusú webes eszközökhöz, majd adja meg a gyökértartományt az egyetlen olyan tartományként, amely cookie-kat használ. Az aldomainek nem használnak sütiket.
Ezek az aldomainek új kapcsolati forrásokat adnak hozzá, amelyeket a böngésző létrehozhat, és több erőforrás letöltését teszik lehetővé egyszerre. Ha az erőforrásokat megosztják az aldomainek között, a webböngésző kevesebb időt tölt a webtartalom blokkolásával, és a weboldalak gyorsabban betöltődnek.
A HTTP / 2 és a HTTP / 1.1 protokollt használó webhelyek esetében a letöltések gazdagépneveken keresztüli párhuzamba állításának legegyszerűbb módja az, ha több aldomént használunk egy CDN-en keresztül. HTTP / 1.1 és WordPress szoftvert használó webhelyek esetén állítson be aldomaineket, és szerkessze a WordPress functions.php fájlt.
Aldomainek beállítása
Az erőforrások aldomainek közötti elosztásához hozzon létre legalább egy és legfeljebb négy aldomént; egy vagy két aldomain ajánlott. Az aldomainek létrehozásának leggyakoribb módja a cPanel használata, amelyet a legtöbb webtárhely-szolgáltatás kínál.
Példák az aldomainekre:
- media1.mydomain.com
- media2.mydomain.com
- media3.mydomain.com
- media4.mydomain.com
Az aldomaineknek és a hosztneveknek ugyanazt a struktúrát és útvonalat kell megadniuk. Például, ha a gazdagépen a kép elérési útja www.mydomain.com/wp-content/uploads/, az aldomainek képútjának meg kell egyeznie például a media1.mydomain.com/wp-content/uploads/ címmel.
Állítson be egy CDN-t a letöltések párhuzamosítására
A CDN beállítása és az aldomainek létrehozása után mutasson minden aldomainre a statikus tartalmat tartalmazó mappára. Így a tartalom az aldomain fölé töltődik be a fő tartomány helyett.
Aldomain megadásához a cPanel DNS-zóna-szerkesztőjével hozzon létre egy új CNAME-rekordot az egyes aldomainekhez. A rekord Név mezőjébe írja be az aldomént, például: media.mydomain.com. A CNAME mezőbe írja be a fő tartományt, például www.mydomain.com.
Miután a web host létrehozta és terjesztette a CNAME rekordokat, adja hozzá a CNAME rekordokat a CDN zóna beállításaihoz.
Szerkessze a Webhely-konfigurációs fájlt a WordPress alkalmazásban a letöltések párhuzamosítása érdekében
Az aldomainek beállítása után adja hozzá ezt a kódot a webhelyéhez használt WordPress téma Fun.php fájljához. Cserélje le a media1.mydomain.com és a media2.mydomain.com címet a tényleges aldomainekre.
function parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // kiegészítő funkció hívása
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hosztnév, $ url);
return $ url;
}
függvény par_get_hostname ($ név) {
$ subdomains = tömb ('media1.mydomain.com', 'media2.mydomain.com'); // add ide az aldomaineidet, amennyit csak akarsz.
$ host = abs (crc32 (basename ($ name))% count ($ aldomain));
$ hostname = $ aldomain [$ host];
return $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);
Ha a Jetpack programot a WordPress programmal használja, engedélyezze a Site Accelerator szolgáltatást, hogy képeit egy WordPress által kezelt CDN-re helyezze.