Performance Analysis of Web Server Side Reactive Programming
摘要
The traditional imperative programming paradigm at web server side encounters some performance limitations when handling lots of concurrent requests. The performance bottleneck cannot be resolved solely by greater hardware investment and program optimization, which will raise system operating expenses. As a new programming paradigm, reactive programming can handle many concurrent requests with a small number of threads, thereby boosting system performance. This paper proposes benchmarks for performance analysis of reactive web applications: TPS (Transaction Per Second) and ART (Average Response Time), CPU utilization, and network bandwidth utilization, and quantitatively analyzes the performance of imperative application and reactive application in various scenarios. According to the experimental results, the reactive programming paradigm can increase TPS by 6.5 times and decrease ART by about 93% when compared to the imperative programming paradigm in a Linux server cluster with 10 Intel i5–, 12-core CPUs, 4GB memory, 10MB/S network bandwidth, and a maximum of 10,000 requests. Network bandwidth utilization is decreased by around 2 times, while CPU resources are lowered by about 3 times. This demonstrates that reactive programming can enhance the performance and reliability of web applications while handling heavy concurrent demands more effectively.