výsledky zkoumání výkonnosti různých metod získávání kolekcí zdrojů pomocí protokolů HTTP/1.1, HTTP/2 a HTTP/2 + Server Push pro komunikaci se serverem. Studie také hodnotila vliv přístupu k požadovaným datům z mezipaměti prohlížeče a manipulace se zdroji na úrovni logiky aplikace (sjednocení zdrojů do jednoho JSON bloku).
Testování výkonnosti provádění 25 požadavků ukázalo celkově předvídatelné výsledky – výrazné zpoždění požadavku přes HTTP/1.1 při prázdné mezipaměti a vedoucí postavení dodání zdrojů jedním blokem (testy s označením „compound“). Výkon Firefoxu a Chrome byl přibližně na stejné úrovni, ale přítomnost dat v mezipaměti nepřinesla očekávaný nárůst účinnosti.
Avšak v testu pro zpracování 500 požadavků se ukázalo výrazné zpoždění Chrome za Firefoxem při přenosu velkého množství požadavků a zpoždění Firefoxu za Chromem při použití mechanismu Server Push a v situaci použití HTTP/2, kdy byla většina dat v mezipaměti prohlížeče. Chrome vykazoval efektivnější práci s mezipamětí, zatímco Firefox efektivnější zpracování externích požadavků.
Na základě testů byl učiněn závěr, že HTTP/2 umožňuje dostatečně efektivní zpracování jednotlivých požadavků velké kolekce zdrojů. Rozdíly ve výkonu jednoduchých schémat rozděleného dodání zdrojů oproti metodám, které agregují zdroje do jednoho bloku, nejsou natolik významné, aby ospravedlnily výrazné zkomplikování logiky zpracování na straně aplikace a serveru. Agregace má smysl pouze v situacích, kdy je výkon nejvyšším prioritou. Když je důležitější zjednodušení logiky a jednoduché API, má smysl použít separátní zpracování zdrojů.
Dalším závěrem je, že prohlížečová mezipaměť při použití HTTP/2 nemá významný vliv na výkon zpracování požadavků (úplné zpracování 501 požadavku bylo pomalejší než zpracování 51 požadavku při 90% naplnění mezipaměti, a to 1,2krát ve Firefoxu a 2,3krát v Chromu). Použití Server Push neprokázalo žádné zásadní výhody ve Firefoxu, ale bylo efektivní při načítání velkého počtu zdrojů v Chromu. Autoři studie také poznamenali, že optimalizace serverové části má mnohem větší vliv na výkon než optimalizace vykonávaného klientského kódu v prohlížeči.
Zdroj: opennet.ru
