Performance comparison of web servers with different architectures: A case study using high concurrency workload
Document Type
Conference Proceeding
Publication Date
1-4-2016
Abstract
Responsiveness is increasingly important for web servers to seamlessly interact with end-users and enhance user experience. In this paper, we studied how different server architectures - asynchronous and thread-based - impact the responsiveness of web servers under high concurrency workload. Through extensive measurements of a standard web server benchmark (Apache Bench), we show that the web servers with asynchronous architecture can achieve much better tail-latency than the thread-based version due to their robustness to handle high concurrency workload. Our fine-grained timeline analysis shows that a thread-based server is fragile to high concurrency workload because of its limited queue size (e.g., limited by thread pool size) for high concurrent requests, causing queue overflow and requests with very long response time due to TCP retransmissions. On the other hand, if we configure a thread-based server with large thread pool size to avoid queue overflow, the maximum achievable throughput can be significantly lower than that of the asynchronous version due to the multi-threading overhead. Our initial results suggest that asynchronous architecture should be considered to construct high responsive and robust web applications that involve hundreds of servers in cloud data centers.
Publication Source (Journal or Book title)
Proceedings - 3rd Workshop on Hot Topics in Web Systems and Technologies, HotWeb 2015
First Page
37
Last Page
42
Recommended Citation
Fan, Q., & Wang, Q. (2016). Performance comparison of web servers with different architectures: A case study using high concurrency workload. Proceedings - 3rd Workshop on Hot Topics in Web Systems and Technologies, HotWeb 2015, 37-42. https://doi.org/10.1109/HotWeb.2015.11