Hvordan parallellisere nedlastinger på tvers av vertsnavn

Noen verktøy for testing av båndbreddehastighet kan anbefale nettsteder som parallelliserer nedlastinger på tvers vertsnavn å levere nettinnhold til nettlesere effektivt. Denne anbefalingen forekommer vanligvis på nettsteder som bruker HTTP / 1.1-protokollen, og skjer når nettlesere begrenser antall samtidige tilkoblinger til et domene.

Nettsteder som har mange HTTP forespørsler om statisk innhold (for eksempel bilder, CSS filer og JavaScript) støter på en Parallelize Downloads Over Hostnames-advarsel. For å komme deg rundt denne begrensningen, konfigurer du domenedeling eller bruk et innholdsleveringsnettverk (CDN).

HTTP / 2-protokollen har blitt hovedstandarden, noe som gjør behovet for parallellnedlastinger foreldet. De fleste webverter bruker nå HTTP / 2 som standard og gjør en gratis CDN av noe slag tilgjengelig. Siden HTTP / 2 er Googles preferanse nå, bør du vurdere å oppdatere nettstedet ditt og hoste til HTTPS.

Hvorfor parallellisere nedlastinger på tvers av vertsnavn?

Nettlesere kan bare åpne et begrenset antall samtidige tilkoblinger per vertsnavn for nettsteder som bruker HTTP / 1.1-protokollen. Denne grensen kan være så høy som seks forbindelser.

watch instagram stories

Når flere ressurser må lastes ned, må de ekstra ressursene vente i en forsinkelseskø til det er en tilgjengelig tilkobling. Ressursene i køen er blokkert, og å redusere denne blokkeringstiden resulterer i raskere sidetid.

For eksempel, hvis en webside har 12 bilder og antall tilkoblinger tillatt av nettleseren er seks, må seks bilder vente i etterslepet. Bildene i etterslepet blir der til de seks første bildene er lastet ned.

Hvis et bilde som et ikon eller en logo brukes flere ganger, kan du bruke en CSS Sprite for disse gjentatte bildene for å redusere ressursforespørsler.

Hva er parallellnedlastinger over vertsnavnadvarsel?

Parallelliserte nedlastinger på tvers av vertsnavnadvarselen er en regel som brukes i noen ytelsesbrikker på nettsteder. Advarselen indikerer at nettleseren ikke kunne åpne antallet tilkoblinger som trengs for å laste ned alle nettstedsressursene samtidig.

For nettsteder som bruker HTTP / 1.1-protokollen, er måten å omgå dette behovet for mer åpne forbindelser på minimere HTTP-forespørsler, sette opp en CDN, eller implementere domenesharing.

For nettsteder som bruker HTTP / 2-protokollen, kan flere ressurser lastes parallelt over en enkelt tilkobling; dette kalles multiplexing. Multiplexing gjør domeneskæring unødvendig med HTTP / 2. Cirka 77 prosent av nettleserne støtter HTTP / 2 og bør ikke støte på noe problem med parallellisering av nedlastinger.

Hvis din webhotellleverandør støtter HTTP / 2, er det trygt å ignorere parallellnedlastingen på tvers av vertsnavnadvarselen. Med HTTP / 2 kan flere ressurser lastes ned parallelt på en tilkobling.

Hva er Domain Sharding?

Domain sharding er en ytelsesoptimaliseringsmetode for HTTP / 1.1-tilkoblinger og brukes på nettsteder med et stort volum HTTP-forespørsler. I domenesharding fordeles nettinnholdsmidler mellom flere underdomener. Når eiendeler fordeles på denne måten, øker antallet samtidige forespørsler som kan behandles.

I domenedeling blir innhold lastet opp på underdomener uten informasjonskapsler. Brukere samhandler ikke med statisk innhold, for eksempel bilder, JavaScript og CSS-filer, så dette innholdet trenger ikke å bli lagt til informasjonskapsler.

Når underdomener ikke viser informasjonskapsler, reduseres størrelsen på forespørsler om en side og forespørselstid, og websider lastes raskere inn. Eksempler på innhold som drar nytte av domeneskarving inkluderer sider med innhold som sjelden er hurtigbufret, for eksempel en side med miniatyrbilder eller et bildearkiv.

I Drupal legger moduler til CSS- og JavaScript-filer som kan redusere ytelsen. Gå til Site Config > Opptreden og optimalisere CSS og JavaScript.

Følg disse tipsene for å dra nytte av fordelene med domenesharing på HTTP / 1.1-tilkoblinger:

  • Server ressurser fra de samme underdomenene for effektivt å cache filer.
  • Fordel ressurser jevnt mellom underdomener.
  • Kjøp SSL-sertifikater for underdomenene.

På HTTP / 2-tilkoblinger reduserer domeneskifting ytelsen fordi det er flere DNS-oppslag. Disse DNS-oppslagene øker oppløsningstiden og cacher ikke filer. Domenesharing gir også tid til hver nye tilkobling. Dette er andre ulemper ved domenesharing på HTTP / 2-tilkoblinger:

  • Det er vanskelig å distribuere ressurser som lastes fra CSS mellom skjærede verter.
  • Høyere belastning på serveren fra det økte antallet samtidige tilkoblinger.
  • Å flytte statisk innhold til et underdomener kan ødelegge koden.
  • Nettleseren tillater kanskje ikke tilgang til et annet vertsnavn.
  • Rutere kan ikke være i stand til å klassifisere et stort antall skjærede forespørsler eller kan se på forespørslene som et denial of service-angrep.

Hvordan parallellisere nedlastinger på tvers av vertsnavn

Når du mottar advarselen om parallellnedlastinger på tvers av vertsnavn, må du øke parallelliseringen ved å distribuere forespørsler mellom flere vertsnavn. For å distribuere forespørsler, opprett underdomener for de forskjellige typene nettressurser som brukes på nettstedet, og spesifiser deretter rotdomenet som det eneste domenet som bruker informasjonskapsler. Underdomener bruker ikke informasjonskapsler.

Disse underdomenene legger til nye kilder til tilkoblinger som nettleseren kan opprette, og gjør det mulig for flere ressurser å laste ned samtidig. Når ressursene er delt mellom underdomener, bruker nettleseren mindre tid på å blokkere innhold på nettet, og websidene lastes raskere inn.

For nettsteder som bruker HTTP / 2 og HTTP / 1.1, er den enkleste måten å parallellisere nedlastinger på tvers av vertsnavn å bruke flere underdomener gjennom et CDN. For nettsteder som bruker HTTP / 1.1 og WordPress, konfigurer du underdomener og rediger WordPress-funksjonene. Php-filen.

Sett opp underdomener

For å distribuere ressurser på tvers av underdomener, opprett minst ett og opptil fire underdomener; ett eller to underdomener anbefales. Den vanligste måten å lage underdomener på er å bruke cPanel, som tilbys av de fleste webhotelltjenester.

Eksempler på underdomener er:

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

Også underdomener og vertsnavn må ha samme struktur og bane. For eksempel, hvis bildestien på verten er www.mydomain.com/wp-content/uploads/, må bildestien på underdomenene samsvare, for eksempel media1.mydomain.com/wp-content/uploads/.

Sett opp en CDN for å parallellisere nedlastinger

Etter at CDN er satt opp og underdomenene er opprettet, peker du hvert underdomener til mappen som inneholder det statiske innholdet. På denne måten lastes innholdet over underdomenet i stedet for hoveddomenet.

For å peke et underdomener, bruk en DNS Zone Editor i cPanel for å opprette en ny CNAME-post for hvert underdomene. I feltet Navn på posten skriver du inn underdomenet, for eksempel media.mydomain.com. I CNAME-feltet skriver du inn hoveddomenet, for eksempel www.mydomain.com.

Etter at CNAME-postene er opprettet og forplantet av webhotellen din, legger du til CNAME-postene i CDN-soneinnstillingene.

Rediger nettstedskonfigurasjonsfilen i WordPress for å parallellisere nedlastinger

Etter at du har konfigurert underdomenene, legger du til denne koden i functions.php-filen til WordPress-temaet som brukes til nettstedet ditt. Erstatt media1.mydomain.com og media2.mydomain.com med dine faktiske underdomener.

funksjon parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // ring supplerende funksjon
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
returner $ url;
}
funksjon par_get_hostname ($ name) {
$ underdomener = array ('media1.mydomain.com', 'media2.mydomain.com'); // legg til underdomenene dine her, så mange du vil.
$ host = abs (crc32 (basename ($ name))% count ($ subdomains));
$ hostname = $ subdomains [$ host];
returner $ vertsnavn;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

Hvis du bruker Jetpack med WordPress, må du aktivere Site Accelerator-tjenesten for å plassere bildene dine på et WordPress-administrert CDN.

instagram story viewer