Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Kornienko, D.V., Mishina, S.V., Melnikov, M.O.: The single page application architecture when develo** secure Web services. J. Phys. Conf. Ser. 2091, 012065 (2021)
Hamad, Z.J., Zeebaree, S.R.M.: Recourses utilization in a distributed system: a review. Int. J. Sci. Bus. 5, 42–53 (2021)
Niknejad, N., Ismail, W., Ghani, I., Nazari, B., Bahari, M., Hussin, A.R.B.C.: Understanding service-oriented architecture (SOA): a systematic literature review and directions for further investigation. Inf. Syst. 91, 101491 (2020)
Li, S., et al.: Understanding and addressing quality attributes of microservices architecture: a Systematic literature review. Inf. Softw. Technol. 131, 106449 (2021)
Hannousse, A., Yahiouche, S.: Securing microservices and microservice architectures: a systematic map** study. Comput. Sci. Rev. 41, 100415 (2021)
Bainomugisha, E., Carreton, A.L., van Cutsem, T., Mostinckx, S., de Meuter, W.: A survey on reactive programming. ACM Comput. Surv. 45, 1–34 (2013)
Salvaneschi, G., Proksch, S., Amann, S., Nadi, S., Mezini, M.: On the positive effect of reactive programming on software comprehension: an empirical study. IIEEE Trans. Software Eng. 43, 1125–1143 (2017)
Mogk, R., Baumgärtner, L., Salvaneschi, G., Freisleben, B., Mezini, M.: Fault-tolerant distributed reactive programming. In: 32nd European Conference on Object-Oriented Programming (ECOOP 2018), p. 26 (2018)
Ponge, J., Navarro, A., Escoffier, C., Le Mouël, F.: Analysing the performance and costs of reactive programming libraries in Java. In: Proceedings of the 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, pp. 51–60. ACM, Chicago IL USA (2021)
Hossain, T.M., Hassan, R., Amjad, M., Rahman, M.A.: Web performance analysis: an empirical analysis of e-commerce sites in Bangladesh. Int. J. Inf. Eng. Electron. Bus. 13, 47–54 (2021)
Ghanavati, M., Costa, D., Seboek, J., Lo, D., Andrzejak, A.: Memory and resource leak defects and their repairs in Java projects. Empir Software Eng. 25, 678–718 (2020)
Riet, J.V., Paganelli, F., Malavolta, I.: From 6.2 to 0.15 seconds – an industrial case study on mobile web performance. In: 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 746–755. IEEE, Adelaide, Australia (2020)
Assran, B.M., Aytekin, A., Feyzmahdavian, H.R., Johansson, M., Rabbat, M.G.: Advances in asynchronous parallel and distributed optimization. Proc. IEEE 108, 2013–2031 (2020)
Sala, K., Teruel, X., Perez, J.M., Peña, A.J., Beltran, V., Labarta, J.: Integrating blocking and non-blocking MPI primitives with task-based programming models. Parallel Comput. 85, 153–166 (2019)
Andre, E.: Observer patterns for real-time systems. In: 2013 18th International Conference on Engineering of Complex Computer Systems, pp. 125–134. IEEE, Singapore (2013)
Perez, I., Bärenz, M., Nilsson, H.: Functional reactive programming, refactored. In: Proceedings of the 9th International Symposium on Haskell. pp. 33–44. ACM, Nara Japan (2016)
Zhuang, X., Qing-dao-er-ji, R.: Channel congestion control model based on improved asynchronous back-pressure routing algorithm in wireless distributed networks. J. Ambient Intell. Hum. Comput. 1–11 (2020)
Bahr, P., Graulund, C.U., Møgelberg, R.E.: Diamonds are not forever: liveness in reactive programming with guarded recursion. Proc. ACM Program. Lang. 5, 1–28 (2021)
Cheng, X., Thaeler, A., Xue, G, Chen, D.: TPS: a time-based positioning scheme for outdoor wireless sensor networks. In: IEEE INFOCOM 2004, pp. 2685–2696. IEEE, Hong Kong (2004)
Delasay, M., Ingolfsson, A., Kolfal, B., Schultz, K.: Load effect on service times. Eur. J. Oper. Res. 279, 673–686 (2019)
Wang, Z., et al.: DeepScaling: microservices autoscaling for stable CPU utilization in large scale cloud systems. In: Proceedings of the 13th Symposium on Cloud Computing, pp. 16–30. ACM, San Francisco California (2022)
Heilmann, F., Fohler, G.: Size-based queuing: an approach to improve bandwidth utilization in TSN networks. SIGBED Rev. 16, 9–14 (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Li, H., Guo, X. (2024). Performance Analysis of Web Server Side Reactive Programming. In: Li, J., Zhang, B., Ying, Y. (eds) 6GN for Future Wireless Networks. 6GN 2023. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 554. Springer, Cham. https://doi.org/10.1007/978-3-031-53404-1_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-53404-1_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-53403-4
Online ISBN: 978-3-031-53404-1
eBook Packages: Computer ScienceComputer Science (R0)