How To Do Capacity Planning: About The Author
How To Do Capacity Planning: About The Author
It is very common for an IT organization to manage system performance in a reactionary fashion, analyzing and correcting performance problems as users report them. When problems occur, hopefully system administrators have tools necessary to quickly analyze and remedy the situation. In a perfect world, administrators prepare in advance in order to avoid performance bottlenecks altogether, using capacity planning tools to predict in advance how servers should be configured to adequately handle future workloads. The goal of capacity planning is to provide satisfactory service levels to users in a costeffective manner. This paper describes the fundamental steps for performing capacity planning. Real life examples are provided using TeamQuest Performance Software.
About the Author Enterprise Performance Specialist Joe Rich has been active with performance analysis and capacity planning for many years. He is involved with technical support and field activities for open system performance and has been active in high performance computing and midrange Open Systems platforms. About the Author Jon Hill has been working with TeamQuest since its inception in 1991. He currently participates on the product management and marketing teams at TeamQuest, helping to keep the company in touch with industry, market, and competitive trends.
2 of 13
White Paper
Workloads Explained
From a capacity planning perspective, a computer system processes workloads (which supply the demand) and delivers service to users. During the first step in the capacity planning process, these workloads must be defined and a definition of satisfactory service must be created. A workload is a logical classification of work performed on a computer system. If you consider all the work performed on your systems as pie, a workload can be thought of as some piece of that pie. Workloads can be classified by a wide variety of criteria.
For more information on Capacity Planning, visit
Copyright 2010, 2013 TeamQuest Corporation. All Rights Reserved.
teamquest.com/capacityplanning
3 of 13
How to Do Capacity Planning who what how is doing the work (particular user or department) type of work is being done (order entry, financial reporting)
White Paper
It is useful to analyze the work done on systems in terms that make sense from a business perspective, using business-relevant workload definitions. For example, if you analyze performance based on workloads corresponding to business departments, then you can establish service level requirements for each of those departments. Business-relevant workloads are also useful when it comes time to plan for the future. It is much easier to project future work when it is expressed in terms that make business sense. For example, it accounts payable department on a consolidated server than it is to predict the overall increase in transactions for that server. Figure 2 Workloads by Department
An Example Using Workloads TeamQuest Analyzer chart, left, shows 24 hours of CPU utilization on an IBM F50 PowerPC system. The chart is useful, but it provides a birds eye view of performance, at best.
teamquest.com/capacityplanning
4 of 13
White Paper In Figure 4, left, the Process Table chart reveals that during the same 24 hour period, 10,642 individual processes ran on this system. All of the utilization information for all of those processes was displayed together in our CPU utilization chart. Wouldnt it be nice if we could show a similar chart, but displayed utilization based on the major functions being formed on this system? Using TeamQuest Performance Software, we can do just that, by going through a process called workload characterization.
We will leave the detailed instructions for performing workload characterization to another paper, or you can refer to the TeamQuest Performance Software documentation. In a nutshell, workload characterization requires you to tell TeamQuest Performance Software how to determine what resource utilization goes with which workload. This is done on a per process level, using selection criteria to tell TeamQuest Performance Software how to determine which processes belong to which workloads. Figure 5, left, shows a list of workloads that have been characterized so that the work of each the 10,642 processes is attributed to one of seven workloads. These workloads are defined according to the type of work being done on the system.
If you look carefully you will see six explicitly defined workloads in Figure 5, but we said there were seven. The reason is that there is always an OTHER workload in addition to the explicitly defined workloads. Any resource utilization that does not match the characterization for any of the explicitly defined workloads becomes associated with OTHER. This ensures that no performance Figure 5 Workload Definitions data falls through the cracks simply because it didnt match any of the defined workloads.
teamquest.com/capacityplanning
5 of 13
White Paper In Figure 6, left, pink bars show utilization that did not match the characterization criteria for any of our defined workloads. There is little or no pink in the chart, demonstrating that we have done a good job of explicitly characterizing most of the work done on this server. All we did was define workloads based on the type of work being performed on this server, but notice how much more useful the information is that is provided in our new chart. Workloads can be very powerful.
teamquest.com/capacityplanning
6 of 13
White Paper
The service level agreement is often defined from the users perspective, typically in terms of response time or throughput. Using workloads often aids in the process of developing service level agreements, because workloads can be used to measure system performance in ways that makes sense to clients/users. In the case of our appointment scheduling application, we might establish service level requirements regarding the number of requests that should be processed within a given period of time, or we might require that each request be processed within a certain time limit. These possibilities are analogous to a fast food restaurant requiring that a certain number of customers should be serviced per hour during the lunch rush, or that each customer should have to wait no longer than three minutes to have his or her order filled. Ideally, service level requirements are ultimately determined by business requirements. Frequently, however, they are based on past experience. Its better to set service level requirements to ensure that you will accomplish your business objectives, but not surprisingly people frequently resort to setting service level requirements like, provide a response time at least as good as is currently experienced, even after we ramp up our business. As long as you know how much the business will ramp up, this sort of service level requirement can work. If you want to base your service level requirements on present actual service levels, then you may want to analyze your current capacity before setting your service levels.
teamquest.com/capacityplanning
7 of 13
White Paper
teamquest.com/capacityplanning
8 of 13
White Paper
teamquest.com/capacityplanning
9 of 13
White Paper Figure 10, left, shows the components of response time for the APPOINTMENTS workload. Note that CPU service time comprises the vast majority of the time required to process an appointment. Queuing delay, time spent waiting for a CPU, is responsible for the rest. I/O resources made only a negligible contribution to the total amount of time needed to process each user call.
Figure 10 APPOINTMENTS Components of Response Time The ASMAIN workload, shown in Figure 11, is more balanced. There is no single resource that is the obvious winner in the contest for the capacity planners attention (however, make note of the queue delay for hdisk2.)
teamquest.com/capacityplanning
White Paper
a. First, you need to forecast what your organization will require of your IT systems in the future. b. Once you know what to expect in terms of incoming work, you can use TeamQuest Predictor to determine the optimal system configuration for meeting service levels on into the future.
Additionally, future processing requirements may be identified from trends in historical measurements of incoming work such as orders or transactions.
teamquest.com/capacityplanning
White Paper TeamQuest Predictor will predict performance of the current system configuration for each of the steps we have set up. Figure 13 is a chart generated using TeamQuest Predictor showing the predicted response time for each workload. As we can see, the response time starts to elongate after 390 users.
Figure 14 is a chart showing predicted response time using a stack bar chart that also shows the components of response time. Notice the substantial increase in CPU wait time after the number of users reaches 360. It seems that the performance bottleneck is CPU resource.
teamquest.com/capacityplanning
White Paper Figure 15 shows the same stack bar chart, but this time TeamQuest Predictor was told to predict performance if the system involved was changed to a p670 1100Mhz 4-CPU system. Clearly, the newer, faster architecture not only allows us substantial growth, but reduces our overall response time to a more realistic level and still allows us the headroom to experience additional growth if needed.
teamquest.com/capacityplanning
TeamQuest Corporation
www.teamquest.com
Americas
One TeamQuest Way Clear Lake, IA 50428 USA +1 641.357.2700 +1 800.551.8326 [email protected] Follow the TeamQuest Community at:
Asia Pacific
35/F Central Plaza 18 Harbour Road Wanchai +852 2824 8510 [email protected] Copyright 2010, 2013 TeamQuest Corporation All Rights Reserved
TeamQuest and the TeamQuest logo are registered trademarks in the US, EU, and elsewhere. All other trademarks and service marks are the property of their respective owners. No use of a third-party mark is to be construed to mean such marks owner endorses TeamQuest products or services. The names, places and/or events used in this publication are purely fictitious and are not intended to correspond to any real individual, group, company or event. Any similarity or likeness to any real individual, company or event is purely coincidental and unintentional. NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THE DOCUMENT. Any product and related material disclosed herein are only furnished pursuant and subject to the terms and conditions of a license agreement. The only warranties made, remedies given, and liability accepted by TeamQuest, if any, with respect to the products described in this document are set forth in such license agreement. TeamQuest cannot accept any financial or other responsibility that may be the result of your use of the information in this document or software material, including direct, indirect, special, or consequential damages. You should be very careful to ensure that the use of this information and/or software material complies with the laws, rules, and regulations of the jurisdictions with respect to which it is used. The information contained herein is subject to change without notice. Revisions may be issued to advise of such changes and/or additions. U.S. Government Rights. All documents, product and related material provided to the U.S. Government are provided and delivered subject to the commercial license rights and restrictions described in the governing license agreement. All rights not expressly granted therein are reserved.