rezultati proučavanja performansi različitih metoda ekstrakcije kolekcije resursa, koristeći protokole HTTP/1.1, HTTP/2 i HTTP/2 + Server Push za pristup serveru. U istraživanju je takođe ocenjeno uticaj na performanse kada se traženi podaci nalaze u kešu pregledača, kao i manipulacija resursima na nivou aplikacijske logike (spajanje resursa u jedinstveni JSON-blok).
Testiranje performansi izvršavanja 25 zahteva pokazalo je u celini predvidljive rezultate - primetno zaostajanje zahteva putem HTTP/1.1 pri praznom kešu i prednost u isporuci resursa jednim blokom (testovi sa oznakom „compound“). Performanse Firefox-a i Chrome-a bile su otprilike na istom nivou, ali prisustvo podataka u kešu nije dovelo do očekivanog povećanja efikasnosti.
Međutim, u testu obrade 500 zahteva primetno je zaostajanje Chrome-a u odnosu na Firefox prilikom slanja velikog broja zahteva i zaostajanje Firefox-a u odnosu na Chrome kada je primenjen mehanizam Server Push i u situaciji kada se koristi HTTP/2 sa većinom podataka u kešu pregledača. Chrome je pokazao efikasniji rad sa kešem, dok je Firefox efikasnije obrađivao spoljašnje zahteve.
Na osnovu testova donet je zaključak da HTTP/2 omogućava prilično efikasno obradu odvojenih zahteva velike kolekcije resursa. Razlike u performansama jednostavnih shema odvojene isporuke resursa u odnosu na metode u kojima se resursi aggreguju u jedan blok nisu dovoljno značajne da bi opravdale složenije logike obrade na strani aplikacije i poslužitelja. Agregacija ima smisla samo u situacijama kada je performansa najvažnija. Kada je važnije pojednostaviti logiku i imati jednostavan API, ima smisla koristiti odvojenu obradu resursa.
Drugi zaključak je da preglednički cache prilikom korištenja HTTP/2 nema značajan utjecaj na performanse obrade zahtjeva (cjelokupno izvršenje 501 zahtjeva bilo je sporije od izvršenja 51 zahtjeva pri 90% ispunjenosti cachea, svega 1,2 puta u Firefoxu i 2,3 puta u Chromeu). Korištenje Server Push-a nije pokazalo značajne prednosti u Firefoxu, ali je bilo učinkovito pri učitavanju velikog broja resursa u Chromeu. Autori istraživanja također su primijetili da optimizacija serverske strane ima veći utjecaj na performanse nego optimizacija klijentskog koda koji se izvršava u pregledniku.
Izvor: opennet.ru
