{"title":"不同架构的Web服务器性能比较:使用高并发工作负载的案例研究","authors":"Qingwen Fan, Qingyang Wang","doi":"10.1109/HotWeb.2015.11","DOIUrl":null,"url":null,"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.","PeriodicalId":252318,"journal":{"name":"2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"18","resultStr":"{\"title\":\"Performance Comparison of Web Servers with Different Architectures: A Case Study Using High Concurrency Workload\",\"authors\":\"Qingwen Fan, Qingyang Wang\",\"doi\":\"10.1109/HotWeb.2015.11\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":252318,\"journal\":{\"name\":\"2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb)\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-11-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"18\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HotWeb.2015.11\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HotWeb.2015.11","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Performance Comparison of Web Servers with Different Architectures: A Case Study Using High Concurrency Workload
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.