Master's Thesis

Load Testing of Web Applications with IPv4 and IPv6 Support in Python

Final Thesis 2.99 MB Appendix 394.79 kB

Author of thesis: Bc. Tomáš Bilka

Acad. year: 2025/2026

Supervisor: RNDr. Ing. Pavel Šeda, Ph.D.

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

Abstract:

This master’s thesis focuses on the design and implementation of a prototype for load
testing web applications with IPv4 and IPv6 support. The theoretical part describes the
basic principles of computer networks, IPv4, IPv6, HTTP and HTTPS protocols, security
aspects related to service availability, and the main principles of load testing. The thesis
also compares Apache JMeter and Locust.
The practical part presents a prototype implemented in Python using the Locust frame-
work. The solution includes a graphical user interface, support for multiple source IP
addresses, IP pool management, dynamic test scenarios, target server availability moni-
toring, network traffic monitoring, and automatic PDF report generation. The function-
ality of the prototype was verified by generating HTTPS load in both IPv4 and IPv6
environments. The measurements were performed on a 10G network link and showed
comparable behaviour for both IP protocol versions. The highest measured throughput
reached 8.89 Gbit/s.

Keywords:

load testing, web applications, Python, Locust, IPv4, IPv6, HTTPS, IP pool, PDF report

Date of defence

09.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

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á?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Security (MPC-IBE)

Composition of Committee

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 (člen)
doc. Ing. Václav Oujezský, Ph.D. (člen)

Supervisor’s report
RNDr. Ing. Pavel Šeda, Ph.D.

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ů. Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Vlastimil Člupek, Ph.D.

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. Topics for thesis defence:
  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á?
Points proposed by reviewer: 90

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová