Kā paralēlizēt lejupielādes starp saimniekdatoru nosaukumiem

Daži joslas ātruma testēšanas rīki var ieteikt vietnēm paralēlizēt lejupielādes resursdatoru nosaukumi efektīvi apkalpot tīmekļa saturu tīmekļa pārlūkprogrammām. Šis ieteikums parasti rodas vietnēs, kurās tiek izmantots HTTP / 1.1 protokols, un tas notiek, kad tīmekļa pārlūkprogrammas ierobežo vienlaicīgu savienojumu ar domēnu skaitu.

Vietnes, kurām ir daudz HTTP statiska satura pieprasījumi (piemēram, attēli, CSS faili un JavaScript) tiek parādīts brīdinājums par paralēlām lejupielādēm visā resursdatoru nosaukumos. Lai apietu šo ierobežojumu, iestatiet domēna sadalīšanu vai izmantojiet satura piegādes tīklu (CDN).

HTTP / 2 protokols ir kļuvis par galveno standartu, kas padara paralēlu lejupielāžu nepieciešamību novecojušu. Lielākā daļa tīmekļa mitinātāju tagad pēc noklusējuma izmanto HTTP / 2 un padara pieejamu sava veida bezmaksas CDN. Tā kā HTTP / 2 tagad ir Google izvēle, apsveriet iespēju atjaunināt savu vietni un mitināšanu uz HTTPS.

Kāpēc paralēlizēt lejupielādes starp saimniekdatoru nosaukumiem?

instagram viewer

Tīmekļa pārlūkprogrammas var atvērt tikai ierobežotu skaitu vienlaicīgu savienojumu katram resursdatora nosaukumam vietnēm, kas izmanto HTTP / 1.1 protokolu. Šis ierobežojums var būt pat seši savienojumi.

Kad ir jālejupielādē vairāk resursu, papildu resursiem jāgaida neizpildītās rindas, līdz būs pieejams savienojums. Rindā esošie resursi ir bloķēti, un šī bloķēšanas laika samazināšana nodrošina ātrāku lapu ielādes laiku.

Piemēram, ja tīmekļa lapā ir 12 attēli un tīmekļa pārlūkprogrammas atļautais savienojumu skaits ir seši, tad sešos attēlos ir jāgaida neizpildītais. Neizpildītā attēla attēli paliek tur, līdz pirmie seši attēli tiek lejupielādēti.

Ja attēls, piemēram, ikona vai logotips, tiek izmantots vairākas reizes, izmantojiet CSS Sprite šiem atkārtotajiem attēliem, lai samazinātu resursu pieprasījumus.

Kas ir brīdinājums par paralēlām lejupielādēm starp saimniekdatoru nosaukumiem?

Brīdinājums par paralēlām lejupielādēm starp saimniekdatoru nosaukumiem ir noteikums, ko izmanto dažās vietņu veiktspējas pārbaudītājos. Brīdinājums norāda, ka šī tīmekļa pārlūkprogramma nevarēja atvērt nepieciešamo savienojumu skaitu, lai vienlaikus lejupielādētu visus vietnes resursus.

Vietnēm, kurās tiek izmantots HTTP / 1.1 protokols, ir jāpārvar šī vajadzība pēc atvērtākiem savienojumiem samazināt HTTP pieprasījumus, izveidojiet CDN vai ieviesiet domēna dalīšanu.

Vietnēm, kurās tiek izmantots HTTP / 2 protokols, vairākus resursus var vienlaikus ielādēt vienā savienojumā; to sauc par multipleksēšanu. Multipleksēšana padara domēna sadrupināšanu nevajadzīgu ar HTTP / 2. Apmēram 77 procenti tīmekļa pārlūkprogrammu atbalsta HTTP / 2, un ar lejupielāžu paralelizēšanu tām nevajadzētu rasties.

Ja jūsu tīmekļa mitināšanas pakalpojumu sniedzējs atbalsta HTTP / 2, ir droši ignorēt brīdinājumu par paralēlām lejupielādēm starp saimniekdatoru nosaukumiem. Izmantojot HTTP / 2, vienā savienojumā var vienlaikus lejupielādēt vairākus resursus.

Kas ir domēna dalīšana?

Domēna sadalīšana ir veiktspējas optimizācijas metode HTTP / 1.1 savienojumiem un tiek izmantota vietnēs ar lielu HTTP pieprasījumu apjomu. Domēnu sadalīšanā tīmekļa satura aktīvi tiek sadalīti starp vairākiem apakšdomēniem. Šādi sadalot aktīvus, vienlaikus apstrādājamo pieprasījumu skaits palielinās.

Domēnu sadalīšanā saturs tiek augšupielādēts apakšdomēnos, kuros nav sīkfailu. Lietotāji nedarbojas ar statisku saturu, piemēram, attēliem, JavaScript un CSS failiem, tāpēc šis saturs nav jāpievieno sīkdatnēm.

Ja apakšdomēnos netiek rādīti sīkfaili, lapai un pieprasījumu latentumam iesniegto pieprasījumu apjoms samazinās, un tīmekļa lapas tiek ielādētas ātrāk. Piemēri saturam, kas gūst labumu no domēna sadrupināšanas, ir lapas, kuru saturs tiek reti saglabāts kešatmiņā, piemēram, sīktēlu lapa vai attēlu arhīvs.

Programmā Drupal moduļi pievieno CSS un JavaScript failus, kas var palēnināt veiktspēju. Iet uz Vietnes konfigurācija > Izrāde un optimizēt CSS un JavaScript.

Lai izmantotu HTTP / 1.1 savienojumu domēna sadrupināšanas priekšrocības, izpildiet šos padomus:

  • Apkalpojiet resursus no tiem pašiem apakšdomēniem, lai efektīvi kešatmiņā saglabātu failus.
  • Vienmērīgi sadaliet resursus starp apakšdomēniem.
  • Iegādājieties apakšdomēnu SSL sertifikātus.

HTTP / 2 savienojumos domēna sadalīšana samazina veiktspēju, jo ir papildu DNS uzmeklēšana. Šie DNS uzmeklējumi palielina izšķirtspējas laiku un nesaglabā failus kešatmiņā. Domēna sadrupināšana arī piešķir laiku katram jaunam savienojumam. Šie ir citi trūkumi domēna sadalīšanai HTTP / 2 savienojumos:

  • Resursu izplatīšanu, kas tiek ielādēti no CSS, ir grūti sadalīt sadalītajos resursdatoros.
  • Lielāka servera slodze no palielināta vienlaicīgu savienojumu skaita.
  • Statiska satura pārvietošana uz apakšdomēnu var salauzt kodu.
  • Tīmekļa pārlūks var neatļaut piekļuvi citam resursdatora nosaukumam.
  • Maršrutētāji, iespējams, nespēj klasificēt lielu skaitu sadalītu pieprasījumu vai var redzēt pieprasījumus kā pakalpojumu atteikuma uzbrukumu.

Kā paralēlizēt lejupielādes starp saimniekdatoru nosaukumiem

Kad saņemat brīdinājumu par paralēlām lejupielādēm visos saimniekdatoru nosaukumos, jums būs jāpalielina lejupielāžu paralelizācija, sadalot pieprasījumus starp vairākiem resursdatoru nosaukumiem. Lai izplatītu pieprasījumus, izveidojiet apakšdomēnus dažādiem vietnē izmantoto tīmekļa aktīvu veidiem, pēc tam norādiet saknes domēnu kā vienīgo domēnu, kas izmanto sīkfailus. Apakšdomēni neizmanto sīkfailus.

Šie apakšdomēni pievieno jaunus savienojumu avotus, kurus pārlūks var izveidot, un ļauj vienlaikus lejupielādēt vairāk resursu. Kad resursi tiek sadalīti starp apakšdomēniem, tīmekļa pārlūkprogramma tērē mazāk laika tīmekļa satura bloķēšanai, un tīmekļa lapas tiek ielādētas ātrāk.

Vietnēm, kas izmanto HTTP / 2 un HTTP / 1.1, vienkāršākais veids, kā paralēli lejupielādēt lejupielādes starp saimniekdatoru nosaukumiem, ir vairāku apakšdomēnu izmantošana, izmantojot CDN. Vietnēm, kurās tiek izmantots HTTP / 1.1 un WordPress, iestatiet apakšdomēnus un rediģējiet failu WordPress functions.php.

Iestatīt apakšdomēnus

Lai resursus sadalītu starp apakšdomēniem, izveidojiet vismaz vienu un līdz četrus apakšdomēnus; ieteicams izmantot vienu vai divus apakšdomēnus. Visizplatītākais veids, kā izveidot apakšdomēnus, ir cPanel izmantošana, ko piedāvā lielākā daļa tīmekļa mitināšanas pakalpojumu.

Apakšdomēnu piemēri ir:

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

Arī apakšdomēniem un resursdatoriem jābūt vienādai struktūrai un ceļam. Piemēram, ja resursdatora attēla ceļš ir www.mydomain.com/wp-content/uploads/, apakšdomēnu attēla ceļam jāatbilst, piemēram, media1.mydomain.com/wp-content/uploads/.

Lai paralēlizētu lejupielādes, izveidojiet CDN

Pēc CDN iestatīšanas un apakšdomēnu izveides norādiet katru apakšdomēnu uz mapi, kurā atrodas statiskais saturs. Tādā veidā saturs tiek ielādēts virs apakšdomēna, nevis galvenā domēna.

Lai norādītu uz apakšdomēnu, izmantojiet DNS zonas redaktoru cPanel, lai katram apakšdomēnam izveidotu jaunu CNAME ierakstu. Ieraksta laukā Name ievadiet apakšdomēnu, piemēram, media.mydomain.com. Laukā CNAME ievadiet galveno domēnu, piemēram, www.mydomain.com.

Kad jūsu Web resursdators ir izveidojis un izplatījis CNAME ierakstus, pievienojiet CNAME ierakstus CDN zonas iestatījumiem.

Rediģējiet vietnes Config failu programmā WordPress, lai paralēli veiktu lejupielādes

Pēc apakšdomēnu iestatīšanas pievienojiet šo kodu jūsu vietnei izmantotā WordPress motīva failam functions.php. Aizstājiet media1.mydomain.com un media2.mydomain.com ar saviem faktiskajiem apakšdomēniem.

funkcija parallelize_hostnames ($ url, $ id) {
$ resursdatora nosaukums = par_get_hostname ($ url); // zvana papildfunkcija
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ resursdatora nosaukums, $ url);
atgriezt $ url;
}
funkcija par_get_hostname ($ nosaukums) {
$ subdomains = masīvs ('media1.mydomain.com', 'media2.mydomain.com'); // pievienojiet šeit savus apakšdomēnus, cik vien vēlaties.
$ host = abs (crc32 (basename ($ name))% count ($ apakšdomēni));
$ resursdators = $ apakšdomēni [$ resursdators];
atgriezt $ resursdatora nosaukumu;
}
add_filter ('wp_get_attachment_url', 'paralelizēt_vadītājvārdus', 10, 2);

Ja izmantojat Jetpack ar WordPress, iespējojiet vietņu paātrinātāja pakalpojumu, lai attēlus ievietotu WordPress pārvaldītā CDN.