Benchmarking microservices serves to understand and check their non-functional properties for relevant workloads and over time. Performing benchmarks, however, can be costly: each microservice requires the design and implementation of a benchmark, possibly repeatedly as the service evolves. As microservice APIs differ, benchmarking tools that assume common interfaces - like ones for databases - do not exist. In this work, we present a pattern-based approach to reduce the efforts for defining microservice benchmarks, while still allowing to measure qualities of complex interactions. It assumes that microservices expose a REST API, described in a machine-understandable way, and allows developers to model interaction patterns from abstract operations that can be mapped to that API. Possible data-dependencies between operations are resolved at runtime. We implement a prototype of our approach, which we use to demonstrate that it can be applied to open-source microservices with little effort. Our work shows that pattern-based benchmarking of microservices is feasible and opens up opportunities for microservice providers and tooling developers.
Mendeley helps you to discover research relevant for your work.
CITATION STYLE
Grambow, M., Meusel, L., Wittern, E., & Bermbach, D. (2020). Benchmarking microservice performance: A pattern-based approach. In Proceedings of the ACM Symposium on Applied Computing (pp. 232–241). Association for Computing Machinery. https://doi.org/10.1145/3341105.3373875