Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue

Introduction  – “Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue” is a unique book that complements existing literature on performance modeling. The author of this book Leonid Grinshpan (who also happens to be an author at Practical Performance Analyst) has written this book with a focus on applying performance modeling techniques to real world problems rather than focus on the construction of performance models. The book uses a model centric methodology for application performance engineering and explains the relevant modelling concepts quite thoroughly through several practical examples. The author analyzes overall application performance through the various modelling techniques. “Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue” would be of special interest to IT professionals who seek an introduction to the subject of performance modeling using analytical modelling techniques.solving_enterprise_performance_problems

Over the past few years I have written numerous articles and conducted training that focus on applying performance modeling techniques to understanding application performance using the mBrace method. Often the trainees at the sessions ask for more details on the application of these modeling techniques but don’t want to go into associated “mathematics”. “Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue” is the book that fulfills that need. I am glad to see such a book hit the marketplace and will be definitely including this book in our introductory course on Systems Performance Engineering.

Review – Not everyone will agree with me, but as far as I am concerned one cannot do without performance models when trying to understand application performance. Performance models enable us to understand an application’s performance and to predict its behavior under varying conditions. Performance models provide us the tools for interpreting performance data to obtain a good overall view on the performance of the application. In many books on this subject, the focus is on the construction and internal components of models rather than application of the model to various what if scenarios. Dr. Leonid Grinshpan however, focuses on applying these modelling techniques which makes this book a definite read for performance practitioners out there.

The author’s goal I believe is to communicate the methodology he uses for model centric application performance engineering. The main focus of the method is to model performance of an application across the various phases in its lifecycle. In the preface, the author quickly does away with the idea of performance engineering being an art. His method eliminates the guesswork, trial and error for solving performance problems. Moreover he promises the reader there will be minimal model internals or mathematics involved in the modeling of system performance.

Dr. Leonid Grinshpan uses many simple but important examples. He uses applications with only a few transaction types and two or three servers in the infrastructure chain. These examples are adequate in order to develop a thorough understanding yet, the book remains accessible to readers with varying levels of experience. You do not need to be a performance modelling guru with a statistics major to get through this book for sure.

Highlights – “Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue” gradually builds the required fundamentals step by step. It takes transaction response time (the author prefers the term “transaction time”) and resource utilization as central metrics and uses them as inputs for performance modeling. The reader can experiment with the various methods the authors have chosen. The modelling framework used by the author is accessible for free and is a toolset for modeling called Java Modeling Tools (JMT). JMT has been made available as open source software by the Politecnico di Milano. The author also uses Perfmon for Windows and prstat for UNIX to gather the required data for various performance counters.

Knowledge of the components of models, such as queuing theory is desirable but not necessary for applying performance models and getting through this book. There is a small section on introductory queuing theory for the reader who is interested in the subject. Those readers not interested can skip the introductory section without losing the core of the book.

Some important subjects the author has delved into –

  • Mapping system architecture into a performance model. This is demonstrated step by step per resource type: CPU, memory, disks, and network.
  • Workload categorization : Determination of the workload of an application in terms of numbers of users, their think times and transaction frequencies.
  • Transaction profiling: Practical hints for determining the resource usage of the application (service demands) with the help of standard available off the shelf tools. Practical examples show how a model can be set up with this data.
  • Several scenarios with performance models being used for application sizing
  • The treatment of software resources is one very strong point of the book. Software resources are a source of many performance problems that aren’t fully understood. Without performance models, it is very difficult to show their performance impact and gain an understanding of them.

The various chapters in this book can be summarized as follows –

  • Chapter 1 – Queuing Networks as Applications Models
  • Chapter 2 – Building and Solving Application Models
  • Chapter 3 – Workload Characterization and Transaction Profiling
  • Chapter 4 – Servers, CPUs, and Other Building Blocks of Application Scalability.
  • Chapter 5 – Operating System Overheads
  • Chapter 6 – Software Bottlenecks
  • Chapter 7 – Performance and Capacity of Virtual Systems
  • Chapter 8 – Model-Based Application Sizing
  • Chapter 9 – Modeling Different Application Configurations

Conclusion – We thoroughly enjoyed reviewing “Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue”  by Dr. Leonid Grinshpan. This book definitely fills the void with regards to practical application of modeling techniques to characterize and understand systems performance. We hope you enjoy the reading the book as much as we did.

Michael Kok (LinkedIn) is the CTO at mBrace. mBrace specialises in Application Performance Engineering and model driven perforMichael_Kokmance management. Its main products and services are based on mBrace, a model based method for explaining and predicting computer performance. Applications of the mBrace method include performance testing, software performance engineering, problem solving, business scenario’s, data center consolidation, performance assurance, capacity management and application performance monitoring. mBrace has business interests in Netherlands and the United Kingdom. Michael’s previous experience includes professional stints at Rijkswaterstaat, WBelastindienst, ING, ABN Amro and other international organizations.

Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue


4.6 out of 5 stars (3 customer reviews)

0 used & new available from

Related Posts

  • Forecasting Oracle Performance – Craig Shallahamer Forecasting Oracle Performance – Craig Shallahamer Unlike what the title suggests Forecasting Oracle Performance by Craig Shallahamer has actually very little to do with Oracle Performance and a lot more to do with the science of forecasting application performance. The great thing about Forecasting Oracle Performance by Craig […]
  • Lightweight Systems for Realtime Monitoring – Oreilly Lightweight Systems for Realtime Monitoring – Oreilly Lightweight Systems for Realtime Monitoring by author Sam Newman and published by Oreilly is a short book that provides a snapshot of the various Open Source light weight real time system monitoring tools available out there. This free ebook from Oreilly makes for quick reading and is in […]
  • Use of Quantitative Models For Performance Testing & Engineering – Part IIUse of Quantitative Models For Performance Testing & Engineering – Part II This article is the second in a two part series by Author Ramesh Iyer on the 101 around Use of Quantitative Models for Performance Testing & Engineering. If you haven't read the first part we encourage you to check it out at the following link - Use of Quantitative Models for […]
  • Modelling System Performance Using Fundamental Laws – Littles LawModelling System Performance Using Fundamental Laws – Littles Law In the first article of this series we reviewed some of the most basic Performance Modelling techniques using fundamental performance equations. The first part of this series covered a Performance Modelling technique we call "Response Time Theory" and leveraged easy to use performance […]