Software Performance modeling – Part I
This is a complex topic. Where do you start? A complete approach must start with the current production business volumes. I will review the steps involved in the modeling effort. I will also cover the types of models, and please do not use a linear model for a complex system.
Know your workload profile
If you have a web site that is frequented by customers and they are transacting business, you must know how many customer and how often they visit the web site. What are they doing on your web site? What are the key business transactions they are using? Beyond the login, are they reviewing orders, searching for new products? If you have an online retail web site you must be fully aware of the workload profile your customer are putting on your systems. If you are providing healthcare benefits or prescription benefits to a large number of clients and members, you must understand the business volumes for each prior year, during the open season when the members and beneficiaries visited the member portal.
The business and IT must together estimate the future workload profile. Will there be a steady increase in volume each quarter, say 20% growth? Is there a new client coming onboard with one million new members? How will this business growth impact the existing systems?
Know your system utilization
Each workload profile consumes resources of the system, and when I mention system, I mean a comples Enterprise system. When a user or member logins into the member portal, or brokerage account, they execute business transactions. If a member reviews their beneficiary, or the retail trader reviews their account positions, those business transactions turn into system transactions; the proverbial rubber hitting the road.
The system transactions span across all the components; web servers, application servers, middleware, CICS gateways, databases. These transactions consume memory, CPU, network, and disks. The business workload can be measured in transactions per seconds (minutes).
The system must be monitored, the end user experience must be monitored. There are a number of tools in the market to help collect this information. These tool are in the Application Performance Monitoring market or APM. These tools are critical to help measure resource utilization in complex systems. The information they collect are critical to the forecasting and capacity planning disciplines.
The next post will be a review of a simple business model mapping the system transactions.