diplomová práce

Zátěžové testování webových aplikací s podporou IPv4 a IPv6 v Pythonu

Text práce 2.99 MB Příloha 394.79 kB

Autor práce: Ing. Tomáš Bilka

Ak. rok: 2025/2026

Vedoucí: RNDr. Ing. Pavel Šeda, Ph.D.

Oponent: Ing. Vlastimil Člupek, Ph.D.

Abstrakt:

Táto diplomová práca sa zaoberá návrhom a implementáciou prototypu pre záťažové
testovanie webových aplikácií s podporou protokolov IPv4 a IPv6. Teoretická časť práce
opisuje základné princípy počítačových sietí, protokoly IPv4, IPv6, HTTP a HTTPS,
bezpečnostné aspekty súvisiace s dostupnosťou služieb a základné princípy záťažového
testovania. Súčasťou práce je aj porovnanie nástrojov Apache JMeter a Locust.
V praktickej časti bol vytvorený prototyp v jazyku Python s využitím frameworku Lo-
cust. Riešenie obsahuje grafické používateľské rozhranie, prácu so zdrojovými IP adre-
sami, podporu IP poolu, definovanie dynamických testovacích scenárov, monitorovanie
dostupnosti cieľového servera, sledovanie sieťovej prevádzky a automatické generovanie
PDF reportu. Funkčnosť prototypu bola overená pri generovaní HTTPS záťaže v pro-
stredí IPv4 aj IPv6. Merania boli realizované na 10G sieťovej linke a výsledky ukázali
porovnateľné správanie pri oboch verziách IP protokolu. Najvyššia nameraná prenosová
rýchlosť dosiahla 8,89 Gbit/s

Klíčová slova:

záťažové testovanie, webové aplikácie, Python, Locust, IPv4, IPv6, HTTPS, IP pool, PDF report

Termín obhajoby

09.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaAznamka

Klasifikace

A

Průběh obhajoby

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil diplomovou práci a odpověděl na otázky členů komise a oponenta. Otázky členů komise a oponenta: - Při testech s 1 000 virtuálními uživateli bylo pozorováno téměř 100% vytížení všech procesorových jader testeru. Jakým způsobem byste doporučoval škálovat řešení pro případ, kdy výkon jednoho generátoru zátěže nestačí a jaké úpravy by distribuovaný režim Locustu v tomto kontextu vyžadoval? - Co by se stalo, kdyby v souboru ip_pool.txt byly smíchány adresy IPv4 a IPv6, a jak prototyp takovou situaci zpracovává?

Jazyk práce

slovenština

Fakulta

Ústav

Studijní program

Informační bezpečnost (MPC-IBE)

Složení komise

Ing. Vlastimil Člupek, Ph.D. (člen)
Ing. Petr Dejdar, Ph.D. (člen)
Ing. Patrik Dobiáš (člen)
doc. JUDr. Matěj Myška, Ph.D. (místopředseda)
prof. Ing. Dan Komosný, Ph.D. (předseda)
Ing. Radomír Svoboda, Ph.D. (člen)
Ing. Martin Rusz, Ph.D. (člen)
doc. Ing. Václav Oujezský, Ph.D. (člen)

Diplomová práce Tomáše Bilky se zabývá návrhem a implementací rozšíření pro zátěžové testování pomocí nástroje Locust. Student pracoval samostatně, pravidelně konzultoval a aktivně diskutoval postup svého řešení.

Textová část práce odpovídá standardům VUT FEKT pro diplomové práce. V praktické části student úspěšně implementoval požadovanou funkcionalitu pro testování HTTP(S) flood útoků v prostředí IPv4 i IPv6 sítí. Součástí řešení je také generování automatizovaného reportu z testování dle požadavků vedoucího a realizace testovacích scénářů, na kterých byla ověřena funkčnost navrženého systému. Z provedených testů vyplývá, že řešení dosahuje přenosové rychlosti téměř 9 Gbit/s, což považuji v současné době za plně dostačující.

Velmi pozitivně hodnotím také to, že student vytvořil přehledný a dobře zpracovaný návod k použití navrženého řešení, který významně usnadňuje jeho další využití a reprodukovatelnost výsledků.

K práci nemám vážnější výhrady. Zadání bylo splněno v plném rozsahu.

Celkové hodnocení: A, 95 bodů. Výsledný počet bodů navržený vedoucím: 95

Známka navržená vedoucím: A

Bakalář Tomáš Bilka se ve své diplomové práci zabýval návrhem a implementací prototypu pro zátěžové testování webových aplikací v Pythonu s využitím frameworku Locust, se zaměřením na podporu protokolů IPv4 a IPv6.

Autor implementoval funkční prototyp zahrnující grafické uživatelské rozhraní, správu IP poolu pro IPv4 i IPv6, dynamické testovací scénáře, monitorování dostupnosti cílového serveru, sledování síťového provozu a automatické generování strukturovaného PDF reportu. Experimentální ověření bylo provedeno na 10G síťovém rozhraní v prostředí VUT, přičemž byly otestovány všechny klíčové scénáře.

Zadání práce bylo splněno v plném rozsahu.  Výsledky práce jsou přehledně prezentovány. Práce má nadstandardní rozsah. Z formálního hlediska je práce na dobré úrovni. Popisky výpisu kódu se uvádí nad výpisem kódu, ne pod ním. V práci chybí seznam použitých zkratek, veličin a symbolů. Práce s literaturou je na dobré úrovni. Seznam literatury obsahuje 31 zdrojů, přičemž jsou zastoupeny RFC dokumenty, odborné knihy, technická dokumentace i akademické články. Z odborného hlediska je práce na vysoké úrovni. Práce mohla být rozšířena o porovnání výsledků s jiným nástrojem (například Apache JMeter v identické konfiguraci). Výsledný nástroj má reálnou využitelnost pro testovací účely v laboratorním prostředí i v praxi. Zdrojový kód je dostupný v repozitáři GitHub, což usnadňuje další rozvoj. Otázky k obhajobě:
  1. Při testech s 1 000 virtuálními uživateli bylo pozorováno téměř 100% vytížení všech procesorových jader testeru. Jakým způsobem byste doporučoval škálovat řešení pro případ, kdy výkon jednoho generátoru zátěže nestačí a jaké úpravy by distribuovaný režim Locustu v tomto kontextu vyžadoval?
  2. Co by se stalo, kdyby v souboru ip_pool.txt byly smíchány adresy IPv4 a IPv6, a jak prototyp takovou situaci zpracovává?
Výsledný počet bodů navržený oponentem: 90

Známka navržená oponentem: A

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová