Performance Evaluation of Java WebSocket Libraries for Real-Time Web Applications: Assessing Out-of-the-Box Efficiency and Resource Management Under Various Load Conditions
2024 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
Background: WebSocket technology enhances real-time web applications by supporting uninterrupted, full-duplex interactions between client and server. This technology ensures that data is transmitted promptly and continuously, which is critical for maintaining a smooth and responsive user experience. Applications that depend on real-time data, such as streaming services, online games, and communication platforms, need these timely updates to function effectively. Delays can lead to user frustration and a perceived lack of reliability, which in turn can affect user retention and satisfaction. Furthermore, stable and consistent performance is essentialto prevent disruptions that could degrade the service quality. Therefore, this thesis evaluates the performance of prominent WebSocket libraries within the Java environment, focusing on their ability to offer both low resource usage and low latency, which are vital for optimizing user experience and ensuring stability in applications requiring timely data exchange.
Objectives: The goal is to systematically compare Java WebSocket, Netty, and Undertow libraries to determine their performance in default configurations, providing insights that guide developers in selecting the most suitable technology for their applications.
Methods: Performance metrics such as Round-Trip Time (RTT), CPU usage, and memory consumption were measured under varying client loads and during spike conditions. The evaluations were conducted in a controlled setting to ensure the validity and reproducibility of results.
Results: The findings indicate that Netty and Undertow performed better than Java WebSocket in managing RTT and resource efficiency across increased client loads. Undertow, in particular, showed exceptional resource management capabilities, suggesting its suitability for applications with stringent resource constraints.
Conclusions: The analysis confirms that Undertow and Netty provide effective performance management and resource utilization, making them preferable choices for developers aiming to optimize real-time communication capabilities in Java-based applications.
Place, publisher, year, edition, pages
2024. , p. 32
Keywords [en]
WebSocket, Java, performance analysis, Netty, Undertow
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-26832OAI: oai:DiVA.org:bth-26832DiVA, id: diva2:1890461
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGWE Web Programming
Supervisors
Examiners
2024-08-192024-08-192024-08-19Bibliographically approved