Design and Implementation of a High Performance Web Server Based on C++ and Epoll
Zheng, Yan (2025)
Zheng, Yan
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025060319881
https://urn.fi/URN:NBN:fi:amk-2025060319881
Tiivistelmä
Modern web services must serve many users at the same time without delay. This requires web servers that are fast and efficient. This thesis is an independent project by one student. It aims to design and implement a compact, high-performance web server. The server will be built in C++ and it will use the Linux epoll system to handle many connections. The main research question is how to use C++ and epoll to build a web server that stays fast and stable even when many users connect at the same time.
This research is practical in nature. The work is divided into several parts. It starts with some background on web servers and epoll. Then it covers the design and building of the server step by step. The methods include writing the server code, testing it under different conditions, and logging the results for analysis.
The thesis is both practical and research-based. First, it explains some important ideas like multi-threading, memory management, and epoll. Then, it shows how the server was built step by step. The main method used is testing and comparing how the server performs. Notes and logs were also kept during development. The goal is to show if the server can handle many users well.
This research is practical in nature. The work is divided into several parts. It starts with some background on web servers and epoll. Then it covers the design and building of the server step by step. The methods include writing the server code, testing it under different conditions, and logging the results for analysis.
The thesis is both practical and research-based. First, it explains some important ideas like multi-threading, memory management, and epoll. Then, it shows how the server was built step by step. The main method used is testing and comparing how the server performs. Notes and logs were also kept during development. The goal is to show if the server can handle many users well.