The Early Microbenchmark Catches the Bug -- Studying Performance Issues Using Micro- and Application Benchmarks
Abstract
An application's performance regressions can be detected by both application or microbenchmarks. While application benchmarks stress the system under test by sending synthetic but realistic requests which, e.g., simulate real user traffic, microbenchmarks evaluate the performance on a subroutine level by calling the function under test repeatedly. In this paper, we use a testbed microservice application which includes three performance issues to study the detection capabilities of both approaches. In extensive benchmarking experiments, we increase the severity of each performance issue stepwise, run both an application benchmark and the microbenchmark suite, and check at which point each benchmark detects the performance issue. Our results show that microbenchmarks detect all three issues earlier, some even at the lowest severity level. Application benchmarks, however, raised false positive alarms, wrongly detected performance improvements, and detected the performance issues later.
Cite
@article{arxiv.2311.04108,
title = {The Early Microbenchmark Catches the Bug -- Studying Performance Issues Using Micro- and Application Benchmarks},
author = {Nils Japke and Christoph Witzko and Martin Grambow and David Bermbach},
journal= {arXiv preprint arXiv:2311.04108},
year = {2023}
}
Comments
Accepted for publication in 2023 IEEE/ACM 16th International Conference on Utility and Cloud Computing