Abstract
Microservice architecture is a widely used architectural style which allows you to design your application using a set of loosely coupled services which can be developed, deployed, and scaled independently. The service decomposition is the act of decomposing (breaking) a coarse-grained service into a set of fine-grained services that collectively perform the functionality of the original service. The service decomposition introduces additional overhead due to inter-service communication of services which impacts the performance. In this paper, we study the effect of service decomposition on the throughput and average latency. We perform an extensive performance analysis using a set of standard microservice benchmarks with different workload characteristics. Our results indicate that when we decompose a service into a set of micro-services the performance of the new application can improve or degrade. The factors which impact the performance behaviours are the number of service calls, the service demand, concurrency (i.e. number of concurrent users) and the decomposition strategy. In addition to the experimental performance evaluation, we analyze the performance impact of service decomposition using queueing theoretic models. We compare the analytical results with experimental results and notice that analytical results match well with the experimental results.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Amaral, M., Polo, J., Carrera, D., Mohomed, I., Unuvar, M., Steinder, M.: Performance evaluation of microservices architectures using containers. In: 2015 IEEE 14th International Symposium on Network Computing and Applications, pp. 27–34. IEEE (2015)
Bondi, A.: Foundations of Software and System Performance Engineering: Process, Performance Modeling, Requirements, Testing, Scalability, and Practice, August 2014
Didona, D., Quaglia, F., Romano, P., Torre, E.: Enhancing performance prediction robustness by combining analytical modeling and machine learning. In: Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, ICPE 2015, pp. 145–156. ACM, New York (2015). https://doi.org/10.1145/2668930.2688047
Klock, S., Van Der Werf, J.M.E., Guelen, J.P., Jansen, S.: Workload-based clustering of coherent feature sets in microservice architectures. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 11–20. IEEE (2017)
Kratzke, N.: About microservices, containers and their underestimated impact on network performance (2017)
Liu, H.H.: Software Performance and Scalability: A Quantitative Approach. Wiley, Hoboken (2009)
Lloyd, W., Ramesh, S., Chinthalapati, S., Ly, L., Pallickara, S.: Serverless computing: an investigation of factors influencing microservice performance. In: 2018 IEEE International Conference on Cloud Engineering (IC2E), pp. 159–169, April 2018. https://doi.org/10.1109/IC2E.2018.00039
Gribaudo, M., Iacono, M., Manini, D.: Performance evaluation of massively distributed microservices based applications. In: 31st European Conference on Modelling and Simulation, Proceedings of the ECMS, Hungary (2017)
Pacheco, V.: Microservice Patterns and Best Practices: Explore Patterns Like CQRS and Event Sourcing to Create Scalable, Maintainable, and Testable Microservices. Packt Publishing (2018). https://books.google.lk/books?id=gfi9tAEACAAJ
Romano, P., Leonetti, M.: Poster: selftuning batching in total order broadcast via analytical modelling and reinforcement learning. SIGMETRICS Perform. Eval. Rev. 39, 77 (2011). https://doi.org/10.1145/2034832.2034861
Rudrabhatla, C.K.: Comparison of event choreography and orchestration techniques in microservice architecture. Int. J. Adv. Comput. Sci. Appl. 9(8), 18–22 (2018)
Shadija, D., Rezai, M., Hill, R.: Microservices: granularity vs. performance. In: Companion Proceedings of the10th International Conference on Utility and Cloud Computing, pp. 215–220. ACM (2017)
Sriraman, A., Wenisch, T.F.: Micro-suite: a benchmark suite for microservices. In: 2018 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–12, September 2018. https://doi.org/10.1109/IISWC.2018.8573515
Sun, Y., Meng, L., Liu, P., Zhang, Y., Chan, H.: Automatic performance simulation for microservice based applications. In: Li, L., Hasegawa, K., Tanaka, S. (eds.) AsiaSim 2018. CCIS, vol. 946, pp. 85–95. Springer, Singapore (2018). https://doi.org/10.1007/978-981-13-2853-4_7
Tennage, P., Perera, S., Jayasinghe, M., Jayasena, S.: An analysis of holistic tail latency behaviors of Java microservices. In: 2019 IEEE 21st International Conference on High Performance Computing and Communications, IEEE 17th International Conference on Smart City, IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), pp. 697–705. IEEE (2019)
Ueda, T., Nakaike, T., Ohara, M.: Workload characterization for microservices. In: 2016 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–10. IEEE (2016)
Villamizar, M., et al.: Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. In: 2015 10th Computing Colombian Conference (10CCC), pp. 583–590. IEEE (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Jayasinghe, M., Chathurangani, J., Kuruppu, G., Tennage, P., Perera, S. (2020). An Analysis of Throughput and Latency Behaviours Under Microservice Decomposition. In: Bielikova, M., Mikkonen, T., Pautasso, C. (eds) Web Engineering. ICWE 2020. Lecture Notes in Computer Science(), vol 12128. Springer, Cham. https://doi.org/10.1007/978-3-030-50578-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-50578-3_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-50577-6
Online ISBN: 978-3-030-50578-3
eBook Packages: Computer ScienceComputer Science (R0)