Identifying worst-case user scenarios for performance testing of web applications using Markov-chain workload models

Abstract The poor performance of web-based systems can negatively impact the profitability and reputation of the companies that rely on them. Finding those user scenarios which can significantly degrade the performance of a web application is very important in order to take necessary countermeasures, for instance, allocating additional resources. Furthermore, one would like to understand how the system under test performs under increased workload triggered by the worst-case user scenarios. In our previous work, we have formalized the expected behavior of the users of web applications by using probabilistic workload models and we have shown how to use such models to generate load against the system under test. As an extension, in this article, we suggest a performance space exploration approach for inferring the worst-case user scenario in a given workload model which has the potential to create the highest resource utilization on the system under test with respect to a given resource. We propose two alternative methods: one which identifies the exact worst-case user scenario of the given workload model, but it does not scale up for models with a large number of loops, and one which provides an approximate solution which, in turn, is more suitable for models with a large number of loops. We conduct several experiments to show that the identified user scenarios do provide in practice an increased resource utilization on the system under test when compared to the original models.

[1]  Dieter Jungnickel,et al.  Graphs, Networks, and Algorithms , 1980 .

[2]  Lalit M. Patnaik,et al.  Genetic algorithms: a survey , 1994, Computer.

[3]  Sam Ruby,et al.  RESTful Web Services , 2007 .

[4]  Charles M. Grinstead,et al.  Introduction to probability , 1999, Statistics for the Behavioural Sciences.

[5]  Wilhelm Hasselbring,et al.  Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems , 2015, EAI Endorsed Trans. Self Adapt. Syst..

[6]  David E. Goldberg,et al.  Time Complexity of genetic algorithms on exponentially scaled problems , 2000, GECCO.

[7]  Michael Frankfurter,et al.  Numerical Recipes In C The Art Of Scientific Computing , 2016 .

[8]  Raphael Yuster,et al.  Fast sparse matrix multiplication , 2004, TALG.

[9]  Dragos Truscan,et al.  Automatic performance space exploration of web applications using genetic algorithms , 2016, SAC.

[10]  Fredrik Abbors,et al.  An automated approach for creating workload models from server log data , 2014, 2014 9th International Conference on Software Engineering and Applications (ICSOFT-EA).

[11]  Robert E. Tarjan,et al.  Fibonacci heaps and their uses in improved network optimization algorithms , 1984, JACM.

[12]  David H. Bailey,et al.  Performance Modeling: Understanding the Past and Predicting the Future , 2005, Euro-Par.

[13]  Donald B. Johnson,et al.  Finding All the Elementary Circuits of a Directed Graph , 1975, SIAM J. Comput..

[14]  John N. Tsitsiklis,et al.  Introduction to Probability , 2002 .

[15]  Paul Reeser,et al.  An Analytic Model of Web Servers in Distributed Computing Environments , 2002, Telecommun. Syst..

[16]  S. V. Subrahmanya,et al.  Object driven performance testing of Web applications , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[17]  Marc Parizeau,et al.  DEAP: evolutionary algorithms made easy , 2012, J. Mach. Learn. Res..

[18]  Christopher Stewart,et al.  Performance modeling and system management for multi-component online services , 2005, NSDI.

[19]  Wilhelm Hasselbring,et al.  WESSBAS: extraction of probabilistic workload specifications for load testing and performance prediction—a model-driven approach for session-based application systems , 2016, Software & Systems Modeling.

[20]  Jerome A. Rolia,et al.  Web Server Performance Measurement and Modeling Techniques , 1998, Performance evaluation (Print).

[21]  Ágnes Bogárdi-Mészöly,et al.  A novel algorithm for performance prediction of web-based software systems , 2011, Perform. Evaluation.

[22]  A. Jefferson Offutt,et al.  Quality Attributes of Web Software Applications , 2002, IEEE Softw..

[23]  Louis P. Slothouber,et al.  A Model of Web Server Performance , 1996 .

[24]  Fredrik Abbors,et al.  Model-based Performance Testing of Web Services using Probabilistic Timed Automata , 2013, WEBIST.

[25]  D. Radev,et al.  STEADY-STATE SOLUTIONS OF MARKOV CHAINS , 2022 .

[26]  William J. Stewart,et al.  Introduction to the numerical solution of Markov Chains , 1994 .

[27]  Shiwei Tang,et al.  Mining Models of Composite Web Services for Performance Analysis , 2006, DASFAA.

[28]  Marc Parizeau,et al.  DEAP: a python framework for evolutionary algorithms , 2012, GECCO '12.

[29]  Enrique Hernández-Orallo,et al.  Web server performance analysis using histogram workload models , 2009, Comput. Networks.

[30]  Mark S. Squillante,et al.  Web traffic modeling and Web server performance analysis , 1999, PERV.