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.
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 performance 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.