Sammenligning af ydeevnen for HTTP/1.1, HTTP/2 og HTTP/2 + Server Push

Publiceret resultaterne af en undersøgelse af ydeevnen for forskellige metoder til at hente ressourcer, ved at bruge protokollerne HTTP/1.1, HTTP/2 og HTTP/2 + Server Push til serverhenvendelser. Undersøgelsen vurderede også indflydelsen på ydeevnen ved at hente data fra browserens cache og manipulation af ressourcer på applikationslogikens niveau (sammenlægning af ressourcer til et enkelt JSON-bulk).

Ydeevnetest af 25 anmodninger viste i det store hele forudsigelige resultater — en markant forsinkelse for anmodningen via HTTP/1.1 ved tom cache og føringen af ressourcer ved én blok (tests med mærket „compound“). Ydeevnen for Firefox og Chrome var omtrent på samme niveau, men tilstedeværelsen af data i cachen førte ikke til den forventede stigning i effektiviteten.

Sammenligning af ydeevnen for HTTP/1.1, HTTP/2 og HTTP/2 + Server Push

Men i testen med 500 anmodninger viste der sig en markant forsinkelse for Chrome i forhold til Firefox ved håndtering af et stort antal anmodninger, og en forsinkelse for Firefox i forhold til Chrome ved brug af Server Push-mekanismen samt i situationen med HTTP/2, når størstedelen af dataene er i browserens cache. Chrome viste en mere effektiv håndtering af cachen, mens Firefox var mere effektiv til at behandle eksterne anmodninger.

Sammenligning af ydeevnen for HTTP/1.1, HTTP/2 og HTTP/2 + Server Push

Sammenligning af ydeevnen for HTTP/1.1, HTTP/2 og HTTP/2 + Server Push

Som følge af testene konkluderes det, at HTTP/2 tillader en tilstrækkelig effektiv håndtering af separate anmodninger for en stor samling af ressourcer. Forskellene i ydeevne mellem enkle ordninger for separat leveringskapacitet og metoder, hvor ressourcerne aggregeres til én blok, er ikke så betydelige, at de kan retfærdiggøre en betydelig kompleksitet i behandlingslogikken på applikationssiden, og server. Aggregering giver kun mening i situationer, hvor ydeevnen har højeste prioritet. Når det er vigtigere at forenkle logikken og have et enkelt API, er det fornuftigt at bruge separat behandling af ressourcer.

En anden konklusion er, at browsercachen ved brug af HTTP/2 ikke har en betydelig indflydelse på behandlingen af forespørgsler (den fulde udførelse af 501 forespørgsler viste sig at være langsommere end udførelsen af 51 forespørgsler med 90% fyldning af cachen, kun 1,2 gange langsommere i Firefox og 2,3 gange langsommere i Chrome). Brugen af Server Push viste ikke væsentlige fordele i Firefox, men var effektiv ved indlæsning af et stort antal ressourcer i Chrome. Forfatterne af undersøgelsen bemærkede også, at optimering af serverdelen har en mere betydelig indflydelse på ydeevnen end optimering af klientkoden, der kører i browseren.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster