Microservice-Tailored Generation of Session-Based Workload Models for Representative Load Testing

Load tests are commonly used to assess the performance of an application system. A representative load test uses workload characteristics according to the user behavior in production. Session-based systems have special workload characteristics as the system is used as sequences of inter-related requ...

Full description

Saved in:
Bibliographic Details
Published inProceedings - International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems pp. 323 - 335
Main Authors Schulz, Henning, Angerstein, Tobias, Okanovic, Dusan, van Hoorn, Andre
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.10.2019
Subjects
Online AccessGet full text
ISBN9781728149509
1728149509
ISSN2375-0227
DOI10.1109/MASCOTS.2019.00043

Cover

More Information
Summary:Load tests are commonly used to assess the performance of an application system. A representative load test uses workload characteristics according to the user behavior in production. Session-based systems have special workload characteristics as the system is used as sequences of inter-related requests. Approaches exist to automatically extract session-based workload models from production request logs. However, they focus on system-level testing, which is in stark contrast with modern development practices, where one development team is in charge of developing, testing, and deploying a single microservice. Hence, representative session-based workload models for testing single microservices and their integration are desirable. To deal with these issues, we propose a concept for tailoring a representative load test workload to target only certain services, instead of targeting the whole system. Our goal is to transform the workload for one or more specified service(s) from the system-level workload collected in production. Using this approach, only a subset of the application's microservices is deployed for a load test, specifically the targeted services and the services they depend on. We propose two algorithms. The log-based algorithm deals with extracting the workload for a specific service from collected production traces. The model-based algorithm performs the workload tailoring on the level of the workload model. In an experiment series with a representative microservice application, we compare both algorithms with system-level and request-based workoad models. The results show that when load testing a set of services, the tailored workload models outperform untailored workload models in terms of test duration and the capacity of the test infrastructure, and outperform request-based workload models in terms of representativeness.
ISBN:9781728149509
1728149509
ISSN:2375-0227
DOI:10.1109/MASCOTS.2019.00043