What is Performance Modeling – Performance Modeling is the process of modeling application performance considering various growth factors with the objective of proactively predicting potential breach of SLA’s. Performance Modeling is also used to validate design decisions and infrastructure investment decisions at development stage.
This definition though is a very vague definition and is provided for purposes of simplicity. When looked at from the eyes of a Practical Performance Analyst, Performance Modeling is a science that very clearly fits into the proactive performance paradigm and can be applied across the Software Development Life Cycle. The various areas phases where you could chose to apply Performance Modeling is listed below:
- Performance Modelling at Requirements Gathering
- Performance Modelling at Design
- Performance Modelling at Performance Test
- Performance Modelling at Go Live
- Performance Modelling when in Production
For more details on Performance Modeling please visit the SPE Fundamentals section by Clicking Here.
Why a series on Application of Performance Modeling Techniques – Performance modeling offers a suite of techniques that are are quite supplementary to other performance engineering skills and approaches use to validate system performance such as load and stress testing. An understanding of the various performance modeling techniques and it’s application will enrich your capabilities, help you model & visualize system performance and potentially also control application performance through the advanced insight it is able to provide. An understanding of the power of performance modeling techniques will help you predict outcomes much earlier in the development life cycle and take precautionary measures to prevent things from falling over.
I write this series of articles for professionals with little or no experience with modeling techniques. All you need is the intention to learn and trial things out. The focus of this series will be on the application of performance modeling techniques rather than their construction. Models are complicated machinery and to use an analogy, just like cars one doesn’t bother about what is under the hood, all you focus is on being a good driver. Yes, knowing what’s under the hood and how it operates will help you troubleshoot when things go wrong but it’s also a skill you can easily outsource to the numerous mechanics out there. Instead as drivers most of us focus on the most important thing, which is putting the key into the ignition and drive yourself (and potentially your family) from one place to another.
What We Will Cover – This series of articles is a how-to manual on applying performance modeling techniques without any needless discussion of internals or mathematics (with the exception of the necessary but simple Little’s formula which will be included in the 2nd installment of this series). The examples are based on the mBrace model in general performance terms instead of modelling lingo. The mBrace technique was evolved by us here at mBrace. We would sincerely recommend to those of you who intend on digging deeper into applying modelling, that you might consider investing in Dr. Leonid Grinshpan’s book titled, “Solving Enterprise Application Performance Puzzles”.
For this series I am considering the following subjects:
- Applications have performance-DNA do they?
- Hardware resources
- Software resources
- Performance testing
- Agile performance testing
- Measuring performance-DNA (?)
- Measuring CPU by process (?)
The first 4 articles (published earlier in CMG’s MeasureIT journal) explains the basic concepts of application performance modelling, the next articles will shed light on some interesting modelling applications. The number of articles and their contents may be changed according to feedback from the readers.
As always, your feedback/input/comments are welcome. We would encourage you to share your thoughts/opinions using the chat section below. You can also reach out to me at michael dot kok at mbrace dot it.
Michael Kok (LinkedIn) lives and works in the Netherlands. His career started in 1965 after obtaining a bachelors degree in electrical engineering. He had various managing and consultancy positions, frequently related to computer performance. In 2005 he decided to further focus on performance engineering and founded the mBrace company (www.mbrace.it) where he is CTO now. Michael is the spiritual father of the mBrace methodology and the mBrace model for performance engineering. He frequently participates in performance projects most of them being performance testing projects. Michael is passionate on developing and marketing model based solutions and likes to share his thoughts on the subject.