Adaptív HTTP/2 proxy szerver tervezése és implementálása

OData támogatás
Konzulens:
Dr. Molnár Sándor
Távközlési és Médiainformatikai Tanszék

A HTTP/2 sok régóta várt új funkciót hozott a Webes kommunikációba, melyben sokáig nem történt jelentős változás. Az egyik új, azonban nem kötelezően használandó funkció a server push mechanizmus, amely lehetővé teszi egy szerver számára, hogy a kliens által kért erőforráson kívül még továbbiakat is eljuttasson a számára. Elméletben ez gyorsabb oldalbetöltéseket eredményezhet azáltal, hogy a kliensek megspórolhatják akár több felesleges kérés elküldését is, azonban ezirányú kutatások kimutatták, hogy egy túlságosan agresszív push stratégia akár a teljesítmény rovására is mehet.

A Webes kommunikáció során már eddig is elterjedt volt a proxy-k használata a teljesítmény javítása érdekében, azonban a HTTP/2 még az elődjénél is több ezirányú lehetőséget rejt magában: az új funkciók némelyikét ugrásról ugrásra határozzák meg a kommunikációban részt vevő felek (ilyen pl. a forgalomszabályozás), míg mások hagynak lehetőséget arra, hogy a közvetítők is megvalósíthassák saját logikájukat működés közben. Az egyik ilyen példa az előbb említett server push, amely során egy proxy-nak lehetősége van akár még több erőforrás kiszolgálására a saját cache-én keresztül.

A dolgozatom során amellett érvelek, hogy a server push stratégia kialakítása során a hálózati jellemzők figyelembe vételével lehetséges a korábbiaknál jobb teljesítmény elérése. Bemutatok egy példa proxy implementációt, amely képes ezen információ hasznosítására és a kapcsolat server push beállításának változtatására.

Az implementáció részletezése után bemutatok egy tesztkörnyezetet, amely alkalmas az elkészült implementáció működésének és teljesítményének igazolására. A mérési eredmények alapján megmutatom, hogy az átlagos oldalbetöltési idők javultak a server push adaptív használatával.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.