Compararea performanței HTTP/1.1, HTTP/2 și HTTP/2 + Server Push

Publicate rezultatele studiului performanței diferitelor metode de extragere a colecției de resurse, folosind protocoale HTTP/1.1, HTTP/2 și HTTP/2 + Server Push pentru a accesa serverul. Studiul a evaluat de asemenea impactul asupra performanței al accesării datelor solicitate din cache-ul browserului și manipularea resurselor la nivelul logicii aplicației (combinarea resurselor într-un singur bloc JSON).

Teste de performanță pentru 25 de cereri au arătat în general rezultate previzibile - o întârziere semnificativă a cererii prin HTTP/1.1 cu cache-ul gol și liderarea livrării resurselor într-un singur bloc (teste cu eticheta „compound”). Performanța Firefox și Chrome a fost aproximativ la același nivel, dar prezența datelor în cache nu a dus la creșterea așteptată a eficienței.

Compararea performanței HTTP/1.1, HTTP/2 și HTTP/2 + Server Push

Cu toate acestea, în testul de procesare a 500 de cereri, a fost observată o întârziere semnificativă a Chrome față de Firefox în transmiterea unui număr mare de cereri și o întârziere a Firefox față de Chrome în utilizarea mecanismului Server Push și în situațiile în care HTTP/2 era utilizat, având cea mai mare parte a datelor în cache-ul browserului. Chrome a demonstrat o muncă mai eficientă cu cache-ul, iar Firefox o procesare mai eficientă a cererilor externe.

Compararea performanței HTTP/1.1, HTTP/2 și HTTP/2 + Server Push

Compararea performanței HTTP/1.1, HTTP/2 și HTTP/2 + Server Push

În urma testelor, s-a concluzionat că HTTP/2 permite procesarea eficientă a cererilor separate dintr-o colecție mare de resurse. Diferențele de performanță între metodele simple de livrare separată a resurselor și cele în care resursele sunt agregate într-un singur bloc nu sunt atât de semnificative încât să justifice complicarea semnificativă a logicii de procesare pe partea aplicației și server. Agregarea are sens doar în situațiile în care performanța are cea mai mare prioritate. Când simplificarea logicii și un API simplu sunt mai importante, are sens să se utilizeze procesarea separată a resurselor.

O altă concluzie este că memoria cache a browserului, atunci când se utilizează HTTP/2, nu are un impact semnificativ asupra performanței procesării cererilor (executarea completă a 501 cereri a fost cu 1,2 ori mai lentă decât executarea a 51 cereri cu 90% din cache plin în Firefox și cu 2,3 ori în Chrome). Utilizarea Server Push nu a demonstrat un beneficiu semnificativ în Firefox, dar s-a dovedit eficientă în încărcarea unui număr mare de resurse în Chrome. Autorii studiului au mai remarcat că optimizarea părții server are un impact mai semnificativ asupra performanței decât optimizarea codului client executat în browser.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster