Kaip lygiagretinti atsisiuntimus visuose prieglobos serverių pavadinimuose

Kai kurie pralaidumo greičio tikrinimo įrankiai gali rekomenduoti svetainėms paryškinti atsisiuntimus pagrindinio kompiuterio vardai efektyviai teikti žiniatinklio naršyklėms žiniatinklio turinį. Ši rekomendacija dažniausiai būna svetainėse, naudojančiose HTTP / 1.1 protokolą, ir įvyksta tada, kai žiniatinklio naršyklės riboja vienu metu užmegztų ryšių su domenu skaičių.

Tinklalapiai, kuriuose yra daugybė HTTP statinio turinio (pvz., vaizdų, CSS failai ir „JavaScript“) susiduria su įspėjimu „Paraleliuoti atsisiuntimus visuose prieglobos serveriuose“ Norėdami išvengti šio apribojimo, nustatykite domeno dalijimą arba naudokite turinio pristatymo tinklą (CDN).

HTTP / 2 protokolas tapo pagrindiniu standartu, todėl nebereikalingas lygiagrečių atsisiuntimų poreikis. Dabar dauguma žiniatinklio prieglobų pagal numatytuosius nustatymus naudoja HTTP / 2 ir pateikia nemokamą tam tikros rūšies CDN. Kadangi HTTP / 2 dabar yra „Google“ pirmenybė, apsvarstykite galimybę atnaujinti savo svetainę ir priglobti į HTTPS.

instagram viewer

Kodėl reikia lygiagretinti atsisiuntimus visuose prieglobos serverių pavadinimuose?

Tinklalapių, naudojančių HTTP / 1.1 protokolą, žiniatinklio naršyklės gali atidaryti tik ribotą skaičių vienu metu esančių ryšių kiekvienam prieglobos serverio pavadinimui. Ši riba gali siekti net šešis ryšius.

Kai reikia atsisiųsti daugiau išteklių, papildomi ištekliai turi laukti neužbaigtų darbų eilėje, kol bus pasiekiamas ryšys. Eilėje esantys ištekliai yra užblokuoti, o sutrumpinus šį blokavimo laiką, puslapis įkeliamas greičiau.

Pvz., Jei tinklalapyje yra 12 vaizdų ir interneto naršyklėje leidžiamų jungčių skaičius yra šeši, tada šeši vaizdai turi laukti neprisijungus. Neveikliuose vaizdai lieka ten, kol bus baigti atsisiųsti pirmieji šeši vaizdai.

Jei vaizdas, pvz., Piktograma ar logotipas, naudojamas kelis kartus, naudokite CSS Sprite šiems pakartotiniams vaizdams, kad sumažintumėte išteklių užklausas.

Kas yra perspėjimas dėl lygiagrečių atsisiuntimų visuose prieglobos serverių pavadinimuose?

Įspėjimas apie lygiagrečius atsisiuntimus visuose prieglobos serverių pavadinimuose yra taisyklė, naudojama kai kuriuose svetainės našumo tikrintuvuose. Įspėjimas rodo, kad ta interneto naršyklė negalėjo atidaryti tiek jungčių, kiek reikia norint vienu metu atsisiųsti visus svetainės išteklius.

Svetainėms, naudojančioms HTTP / 1.1 protokolą, reikia išspręsti šį atviresnių ryšių poreikį sumažinti HTTP užklausas, nustatykite CDN arba įgyvendinkite domeno dalijimą.

Svetainėse, naudojančiose HTTP / 2 protokolą, vienu metu galima vienu metu įkelti kelis išteklius; tai vadinama multipleksavimu. Suderinus domeną, naudojant HTTP / 2, dalijimas nereikalingas. Maždaug 77 procentai interneto naršyklių palaiko HTTP / 2 ir neturėtų kilti jokių problemų dėl lygiagrečių atsisiuntimų.

Jei jūsų žiniatinklio prieglobos paslaugų teikėjas palaiko HTTP / 2, saugu nepaisyti įspėjimo apie lygiagrečius atsisiuntimus visuose prieglobos serverių pavadinimuose. Naudojant HTTP / 2, vienu metu vienu metu galima atsisiųsti kelis išteklius.

Kas yra domeno dalijimasis?

Domeno skaidymas yra našumo optimizavimo būdas HTTP / 1.1 ryšiams ir naudojamas svetainėse, kuriose yra daug HTTP užklausų. Skaldant domeną, žiniatinklio turinio ištekliai yra paskirstomi keliems padomeniams. Kai turtas paskirstomas tokiu būdu, vienu metu gali būti apdorojamų užklausų skaičius.

Skaldant domeną, turinys yra įkeliamas į slapukų neturinčius padomenius. Vartotojai nesąveikauja su statiniu turiniu, pvz., Vaizdais, „JavaScript“ ir CSS failais, todėl šio turinio nereikia pridėti prie slapukų.

Kai padomeniuose neteikiami slapukai, sumažėja puslapio ir užklausos delsos užklausų dydis, o tinklalapiai įkeliami greičiau. Turinio, kuriam naudinga domeno skaidymas, pavyzdžiai yra puslapiai, kurių turinys yra retai talpinamas, pvz., Miniatiūrų puslapis arba vaizdų archyvas.

„Drupal“ moduliai prideda CSS ir „JavaScript“ failus, kurie gali sulėtinti našumą. Eiti į Svetainės konfigūracija > Spektaklis optimizuoti CSS ir „JavaScript“.

Norėdami pasinaudoti domeno skaidymo HTTP / 1.1 ryšiuose pranašumais, vadovaukitės šiais patarimais:

  • Pateikite tų pačių padomenių išteklius, kad efektyviai talpintumėte failus.
  • Tolygiai paskirstykite išteklius tarp padomenių.
  • Įsigykite padomenių SSL sertifikatus.

Naudojant HTTP / 2 ryšius, domenų skaidymas sumažina našumą, nes yra papildomų DNS paieškų. Šios DNS paieškos padidina raiškos laiką ir ne talpina failus. Domeno skaldymas taip pat suteikia laiko kiekvienam naujam ryšiui. Tai yra kiti HTTP / 2 ryšių domeno dalijimo trūkumai:

  • Iš CSS įkeliamus išteklius sunku paskirstyti padalintiems pagrindiniams kompiuteriams.
  • Didesnė serverio apkrova dėl padidėjusio vienu metu esančių ryšių skaičiaus.
  • Statinio turinio perkėlimas į padomenį gali sugadinti kodą.
  • Žiniatinklio naršyklė gali neleisti prieigos prie kito prieglobos serverio pavadinimo.
  • Maršrutizatoriai gali negalėti klasifikuoti didelio skaičiaus suskaidytų užklausų arba gali matyti užklausas kaip paslaugų atsisakymo ataką.

Kaip lygiagretinti atsisiuntimus visuose prieglobos serverių pavadinimuose

Kai gausite įspėjimą dėl lygiagrečių atsisiuntimų visuose prieglobos serverių pavadinimuose, turėsite padidinti atsisiuntimų lygiagretumą, paskirstydami užklausas keliems kompiuterių vardams. Norėdami platinti užklausas, sukurkite skirtingų tipų žiniatinklio išteklių, naudojamų svetainėje, padomenius, tada nurodykite šakninį domeną kaip vienintelį domeną, kuriame naudojami slapukai. Padomeniuose nenaudojami slapukai.

Šie padomeniai prideda naujų ryšių šaltinių, kuriuos gali sukurti naršyklė, ir vienu metu galima atsisiųsti daugiau išteklių. Kai ištekliai padalijami į padomenius, žiniatinklio naršyklė praleidžia mažiau laiko blokuodama žiniatinklio turinį, o tinklalapiai įkeliami greičiau.

Svetainėse, naudojančiose HTTP / 2 ir HTTP / 1.1, paprasčiausias būdas lygiagrečiai atsisiųsti atsisiuntimus visuose kompiuterių pavadinimuose yra naudoti kelis padomenius per CDN. Svetainėms, naudojančioms HTTP / 1.1 ir „WordPress“, nustatykite padomenius ir redaguokite failą „WordPress functions.php“.

Nustatykite padomenius

Norėdami paskirstyti išteklius padomeniams, sukurkite bent vieną ir iki keturių padomenių; rekomenduojamas vienas ar du padomeniai. Dažniausias padomenių kūrimo būdas yra „cPanel“ naudojimas, kurį siūlo dauguma interneto prieglobos paslaugų.

Padomenių pavyzdžiai:

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

Taip pat padomenių ir pagrindinių kompiuterių pavadinimų struktūra ir kelias turi būti vienodi. Pvz., Jei pagrindinio kompiuterio vaizdo kelias yra www.mydomain.com/wp-content/uploads/, padomenių vaizdo kelias turi sutapti, pavyzdžiui, media1.mydomain.com/wp-content/uploads/.

Nustatykite CDN, kad būtų galima lygiagrečiai atsisiųsti

Sukūrę CDN ir sukūrę padomenius, nukreipkite kiekvieną padomenį į aplanką, kuriame yra statinis turinys. Tokiu būdu turinys įkeliamas virš padomenio, o ne pagrindinio domeno.

Norėdami nurodyti padomenį, naudokite „DNS“ zonos redaktorių „cPanel“, kad sukurtumėte naują CNAME įrašą kiekvienam padomeniui. Įrašo lauke Pavadinimas įveskite padomenį, pavyzdžiui, media.mydomain.com. Lauke CNAME įveskite pagrindinį domeną, pavyzdžiui, www.mydomain.com.

Kai CNAME įrašus sukurs ir platins jūsų žiniatinklio kompiuteris, pridėkite CNAME įrašus prie CDN zonos nustatymų.

Redaguokite „WordPress“ svetainės konfigūracijos failą, kad būtų galima lygiagrečiai atsisiųsti

Nustatę padomenius, pridėkite šį kodą prie savo svetainėje naudojamos „WordPress“ temos failo functions.php. Pakeiskite media1.mydomain.com ir media2.mydomain.com savo tikraisiais padomeniais.

funkcija parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // skambučio papildoma funkcija
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
grąžinti $ url;
}
funkcija par_get_hostname ($ name) {
$ subdomains = masyvas ('media1.mydomain.com', 'media2.mydomain.com'); // pridėkite čia savo padomenius tiek, kiek norite.
$ host = abs (crc32 (basename ($ name))% count ($ subdomains));
$ hostname = $ padomeniai [$ host];
grąžinti $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

Jei naudojate „Jetpack“ su „WordPress“, įgalinkite „Site Accelerator“ paslaugą, kad vaizdai būtų į „WordPress“ valdomą CDN.

instagram story viewer