Knowledge Base & Community Wiki
Workload Models – Tutorial I
Workload models are frequently used by Performance Testing Engineers, APM Engineers, Capacity Planners / Capacity Managers including Performance Engineers as an input their respective processes. Workload models help define the relevant business critical transactions, batch jobs, messages, workflows, etc. that are responsible for consumption of resources and have an impact on the overall system utilization including the SLA and End User Experience. Let’s see the definitions of a Workload model before we look at how Workload models are put together and used by Performance Testing Engineers, APM Engineers or Capacity Managers.
To learn more about Workload Models please visit the article on Workload Models.
Workload modelling makes use of the following notations:
- N – Number of users present within the system
- C – Number of completions
- X – Throughput or Rate of Departure
- A – Number of Arrivals
- λ – Rate of Arrival
- Rt – Time spent by Customers within the system
Workload modelling implemented here at VisualizeIT uses Little’ to establish a relationship between the rates at which transactions should be executed along with the think times, the expected throughput and finally the transaction response times.
Let’s look at the following example –
Scenario: You are an experienced Performance Testing Engineer on a large program working for a large multi national organization. The program is tasked with rolling out a major upgrade to one of its major online shopping platforms. As the lead Performance Testing Engineer on the program you have been asked to identify the scenarios that the system needs to be validated for.
Application: The application being considered here is an ecommerce solution that offers a whole range of retail merchandise which your organization manufactures. The online shopping platform it hosted on Linux and integrates with a back-office Order Management and Order Fulfillment System. The application is web based with a mobile interface but this release is going to focus on rolling out upgrades to the web interface with the mobile interface coming through in the next major release.
Outcome Expected: The outcome expected is an application that has been engineered to meet the agreed Non Functional Requirements. However, with regards to the request from the program manager the outcomes expected is a set of Workload Models that would feed into the scenarios for Performance Testing. These scenarios would ideally be input directly into the Performance Testing tool and scripts designed to drive the relevant workload into the system.
Approach Followed: The modelling approach included:
- Understanding the relevant Non Functional Requirements
- Understanding the overall System Architecture i.e. Application, Infrastructure, Storage, Networks, etc.
- Identifying the key critical business transactions
- Modelling the workload using a suitable set of analytical equations and assumptions
Of the above four tasks the first three are manual tasks that would need significant interaction between yourself i.e. the Performance Testing Lead, and the other key SME’s across the program i.e. Design Lead, Lead App Architect, Lead Infrastructure Architect, etc. We will focus on the fourth item which can be automated using the Workload Modelling capability available through VisualizeIT. An assumption is being made that you’ve completed the first three tasks above and have all the necessary information to design your own Workload Model using VisualizeIT.
What Does The Workload Model Look Like: Here’s what the Workload Model capability within VisualizeIT looks like:
- Sr. No: Serial Number for your list of transactions
- Step No: A transaction can have multiple steps (or screens). This allows you to number the steps on the screen.
- Application: The name of your application.
- Screen Name: Name of the specific screen you are entering information for.
- Think Time (Z in Secs): Think Time for that particular screen in Seconds. Please see Fundamental section for definition of Think Time.
- Response Time: Response Time (System) for the given screen (including all the processing that needs to be done on the system to generate that screen) in Seconds.
- Throughput (X): The expected transactional throughput.
- Number of Users (N): The total number of users who would be on that page.
- Run Duration (D in Secs): The total run time for the given test run.
- Number Of Iterations: The number of iterations for that given transaction/screen during the test run for the agreed run time.
- Misc: Any additional comments
Modelling Options: What you would need to note is that the Workload Model as designed in VisualizeIT can run in the following modes:
- N unknown – This allows you to input R, X, Z and allow the system to calculate the value of N for each of the screens and transactions.
- R unknown – This allows you to input N, X, Z and allow the system to calculate the value of R for each of the screens and transactions.
- X unknown – This allows you to input R, N, Z and allow the system to calculate the value of X for each of the screens and transactions.
- X unknown – This allows you to input R, X, N and allow the system to calculate the value of Z for each of the screens and transactions.
To change the “calculated value” choose the relevant “unknown” value using the radio button just below the table header and hit the “Select Unknown Var” button. This changes the form to the required type. An example of a form that’s been completely filled up is provided below.
Viewing Results: Once you entered details for each of your transactions, hit the “Execute Model” button and the system performs the necessary calculations. The resulting values are provided in a neatly laid out table and also available as a CSV for download.
Conclusion: The Workload Model within VisualizeIT provides the Performance Testing Engineer, The Capacity Planner/Manager, The Performance Modelling Engineer, etc. the ability to model workload for his system using Operational Theory/Little’s Law. The capability provided within these models is free and is available as part of the Bronze Plan within VisualizeIT. We hope that Workload Models combined with the other Analytical modelling techniques will give you the ability to design, build, test and deliver applications that scale.
Modelling Solution: VisualizeIT offers access to a bunch of Analytical Models, Statistical Models and Simulation Models. Access to all the Analytical (Mathematical) models is free. We recommend you try out the Analytical models at VisualizeIT which are free to use and drop us a note with your suggestions, input and comments. You can access the VisualizeIT website here and the VisualizeIT modelling solution here –VisualizeIT.