CONTENTS Title Page Copyright Page Preface 1 Overview 1.1 Introduction 1.2 VPA Components 1.2.1 Data Collector 1.2.1.1 Data Collection Synchronization in a VAXcluster System 1.2.2 Database Directory 1.2.2.1 Daily Data File 1.2.2.2 Schedule File 1.2.2.3 Parameters File 1.2.2.4 Holidays File 1.2.2.5 History Files 1.2.2.6 Data Collection Error Log 1.2.3 Analysis and Reporting Facility 1.2.4 Graphing Facility 1.2.5 Knowledge Base and Rules Compiler 1.2.6 Modeling Facility 1.2.6.1 Model Interface 1.2.7 Parameter Edit Utility 1.2.8 Defining and Storing Historical VPA Data 1.2.9 Callable Interface for Data Extraction 1.3 System Requirements and Supported Configurations 1.4 What to Expect from VPA 1.5 Current VPA Limitations 2 Installing VPA 2.1 Software Kit Media 2.2 Required Software 2.3 Installation Requirements 2.4 User Requirements 2.5 Installation Procedure 2.6 VPA File Names and Directory Areas 2.7 Sample Installation Log 3 Getting Started with VPA 3.1 Examining the Schedule File 3.2 Changing the Weekly Schedule 3.3 Changing the Beginning and Ending Dates for Data Collection 3.4 Adding, Changing, and Reordering Node Names in the Schedule File 3.5 Creating a New Schedule File 3.6 Starting and Stopping Data Collection on Individual Nodes 3.7 Invoking the Parameter Edit Utility 3.8 Generating a Model 3.8.1 Modifying Workload Characteristics 3.9 VPA Analysis and Reports 3.9.1 Obtaining VPA Reports 3.9.2 Generating Daily Reports Automatically 3.10 Archiving Historical Data Automatically 4 Using the DECwindows Interface 4.1 Starting the VPA DECwindows Interface 4.2 Controlling the VPA Interface 4.2.1 Saving Reports 4.2.2 Monitoring Work in Progress 4.2.3 Reading the Parameter File 4.2.4 Writing the Parameter File 4.2.5 Quitting the Session 4.3 Selecting Data for Analysis 4.3.1 Selecting Today's Data 4.3.2 Selecting Specific Data 4.3.3 Selecting Last Hour 4.4 Displaying Analyzed Data 4.4.1 Brief Analysis 4.4.2 Full Analysis 4.4.3 Performance Evaluation 4.4.4 Graphs 4.4.4.1 Save the Graph 4.4.4.2 Edit 4.4.4.3 Display 4.4.4.4 Display Top 4.4.4.5 Display Custom 4.5 Customizing 4.5.1 Customizing Data Collection 4.5.1.1 Setting Collection Parameters 4.5.1.2 Setting the Collection Schedule 4.5.1.3 Adding or Removing Nodes 4.5.2 Customizing VPA$DATABASE definition 4.5.3 Customizing Parameters 4.5.3.1 Starting the Parameter Editor 4.5.4 Workload Definitions 4.5.4.1 Create a Workload Definition 4.5.4.2 Delete a Workload 4.5.4.3 Modify Workload Definitions 4.5.5 Workload Family Definitions 4.5.5.1 Create a Workload Family 4.5.5.2 Delete a Workload Family 4.5.5.3 Modify a Workload Family 4.5.6 History File Descriptors 4.5.6.1 Create a History File Descriptor 4.5.6.2 Delete a History File Descriptor 4.5.6.3 Modify a History File Descriptor 4.5.7 Parameter Settings 4.6 Viewing the Main Window 4.7 Getting Help 4.7.1 Navigating in Help 4.7.2 Saving Help Text in a File 4.7.3 Exiting from Help 5 VPA Commands ADVISE/ARCHIVE ADVISE/BUILD ADVISE/COLLECT ADVISE/EDIT/MODEL ADVISE/EDIT/PARAMETER ADVISE/GRAPH ADVISE/MODEL ADVISE/PIE_CHART ADVISE/REPORT 6 Parameter Edit Utility Commands ADVISE/EDIT/PARAMETER ADD/FAMILY ADD/HISTORY ADD/WORKLOAD DELETE/FAMILY DELETE/HISTORY DELETE/WORKLOAD EXIT MODIFY/FAMILY MODIFY/HISTORY MODIFY/WORKLOAD QUIT SET AUTO_AUGMENT SET VERSION_LIMIT SHOW/ALL SHOW/AUTO_AUGMENT SHOW/FAMILY SHOW/HISTORY SHOW/VERSION_LIMIT SHOW/WORKLOAD 7 Analysis and Reporting 7.1 Analysis Report 7.1.1 Interpreting the Analysis Report 7.2 Brief Analysis Report 7.2.1 Interpreting the Brief Analysis Report 7.3 Performance Evaluation Report 7.3.1 Interpreting the Process Statistics 7.3.1.1 Interpreting the Process Statistics (by Workload and User) 7.3.1.2 Interpreting the Process Statistics (by Workload) 7.3.2 Interpreting the Pool Statistics 7.3.3 Interpreting the CPU Mode Statistics 7.3.4 Interpreting the SCS Statistics 7.3.5 Interpreting the Clusterwide Lock Statistics 7.3.6 Interpreting the Clusterwide CI, NI, and Adapter Statistics 7.3.7 Interpreting the Clusterwide Disk Statistics 7.3.8 Interpreting the Clusterwide Tape Statistics 7.3.9 Interpreting the Clusterwide Hot File Statistics 7.3.10 Interpreting the Clusterwide Summary Statistics 7.4 Histograms 7.4.1 Image Residence Histogram 7.5 Dump Reports 7.5.1 Interpreting the Dump Reports 7.5.2 Metrics Record Items 7.5.3 Process Record Items 7.5.4 Disk Record Items 7.5.5 Tape Record Items 7.5.6 Communications Record Items 7.5.7 Configuration and SCS Record Items 7.5.8 CPU Record Items 7.5.9 Hot Files Record Items 7.5.10 Sampling Techniques of Dump Report Items 8 Graphing 8.1 Introduction 8.2 VPA Graph Components 8.2.1 Graph Title 8.2.2 Graph Subtitle 8.2.3 Graph Axis Labels 8.2.4 Graph X- and Y-Axis Markers 8.2.5 Graph Legend 8.2.6 Regenerating a ReGIS Graph with New Characteristics 8.3 Selecting Multiple Graphs with a Single DCL Command 8.3.1 Prompt Mode 8.3.2 Producing Multiple Output Files 8.4 Formatting for Output Devices 8.5 Output Formats 8.6 Data Resolution with X_POINTS 8.7 The Custom Graph Type (/TYPE=CUSTOM) 8.7.1 Graphing System Metrics 8.7.2 Graphing Process Metrics by User 9 Adding, Modifying, and Disabling Rules 9.1 Introduction 9.2 Rules File Constructs 9.3 Rule Construct Elements 9.3.1 Rule ID Element 9.3.2 Domain Element 9.3.3 Rule Condition Element 9.3.4 Occurrence Element 9.3.5 Evidence Element 9.3.5.1 Presenting the Evidence 9.3.5.2 How VPA Presents Factory Evidence 9.3.6 Conclusion Text Element 9.3.7 Brief Conclusion Text Element 9.4 Modifying Factory Rules 9.5 Building an Auxiliary Knowledge Base 9.6 Using an Auxiliary Knowledge Base for Reporting and Archiving 9.7 Rules for Data Cells and Domains 9.8 Data Cell Types and Usage 9.8.1 Boolean Data Cell 9.8.2 Index Specifier Data Cell 9.8.3 Scan Routine Data Cell 9.8.4 String Data Cell 9.8.5 Tally Data Cell 9.8.6 Time Data Cell 9.8.7 Numeric Data Cell 10 History Files and Archiving 10.1 Introduction 10.2 Setting Up a History File Reduction Scheme 10.3 Archiving VPA Data 10.4 Using History Files 11 Callable Interface for Data Extraction 11.1 Introduction 11.2 VPA Procedures VPA$OPEN_CONTEXT VPA$READ_CONTEXT VPA$CLOSE_CONTEXT 11.3 VPA Libraries 11.3.1 Example of Compiling and Linking with the VPA MACRO Library 11.4 Sample VAX MACRO Program 11.5 VPA Record Field Definitions 12 Methodology for Capacity Planning 12.1 Tuning the System 12.2 Setting Goals 12.3 Baseline Data Collection 12.3.1 Preliminary Data Collection (Peak Time Determination) 12.3.2 Collecting Model Data 12.3.2.1 Selecting the Collection Times 12.3.2.2 Collecting Pertinent System Data 12.3.3 Archiving the Data 12.4 Workload Characterization 12.4.1 Clustering Workloads 12.4.1.1 Clustering Business Workloads 12.4.1.2 Clustering Measured Workloads 12.4.1.2.1 Selecting Job Characteristics for Clustering 12.5 Baseline Model Generation 12.5.1 Required Parameters 12.5.1.1 Other Methods for Obtaining the Data 12.5.2 Required Outputs 12.5.3 Implicit Modeling Assumptions 12.6 Baseline Model Validation 12.7 ``What-if'' Analysis 12.7.1 Modifying a Model 12.8 Reporting 12.8.1 Structure of the Report 12.9 Concluding the Study 12.10 Continuing the Process 13 Capacity Planning with VPA 13.1 Tuning the System 13.2 Requirements Definition 13.2.1 Future Workload Demands 13.2.2 Defining ``What If'' Scenarios 13.2.3 Understanding the Current Workload 13.3 Data Collection and Selection 13.3.1 Before Collecting Data 13.3.2 Determining Peak Usage Periods 13.3.3 Other Considerations 13.3.3.1 Missing or Changing Workloads 13.3.3.2 Missing Data 13.3.3.3 Using Peak Versus Non-Peak Periods 13.4 Workload Characterization 13.4.1 What Are Workloads 13.4.2 User Group Workloads 13.4.3 Defining User Group Workloads 13.4.4 Defining User Group Families 13.4.5 Transaction Workloads 13.4.6 Defining Transaction Workloads 13.4.7 Defining Transaction Families 13.5 Baseline Model Generation and Reporting 13.5.1 Generating a Baseline Model - Examples 13.5.2 Modeling Reports 13.5.2.1 Producing Modeling Reports 13.5.2.2 Generating a Summary Report 13.5.2.3 Generating a Detailed Report 13.5.2.4 Generating a Parameter Report 13.6 Baseline Model Validation 13.6.1 Validating the Baseline 13.6.2 Workload Composition 13.6.3 Why Models Do Not Validate 13.6.4 Changing Model Defaults 13.7 ``What If'' Analysis 13.7.1 Generating a Prediction Report 13.7.2 Studying the Effect of Changes in Configuration 13.7.3 Studying the Effect of Changes in Workload 13.7.4 Studying the Effect of Changes in Load 14 Using the Model Interface 14.1 Terminal Settings 14.1.1 Setting Up Your Terminal 14.1.2 Setting Up Your Workstation 14.2 Some Things to Note as You Begin 14.3 Model Interface Naming Conventions 14.4 Movement and Selection Within Menus 14.5 Starting and Exiting from the Model Interface 14.5.1 Starting the Model Interface 14.5.2 Exiting from the Model Interface 14.6 Model Interface Display Area 14.6.1 The Main Menu 14.6.2 The Model Display 14.6.3 Viewing the Message Window 14.6.4 Viewing the Status Window 14.6.5 Viewing the Help Window 14.7 Using the File Option 14.7.1 Loading a Model File 14.7.2 Writing a Model File 14.7.3 Exiting from the Model Interface 14.7.4 Quitting the Model Interface 14.8 Using the Set Option 14.8.1 Display Modes 14.8.2 Setting the Current Workload 14.8.3 Setting the Balancing Mode 14.8.4 Setting the Probability Distribution 14.8.5 Setting the Workload Parameters 14.8.6 Setting the System Load 14.8.7 Setting the Name of an Object 14.8.8 Setting the Type of a Device 14.9 Using the Add Option 14.10 Using the Move Option 14.10.1 Moving Workloads 14.11 Using the Remove Option 14.12 Using the Duplicate Option 14.13 Using the View Option 14.14 Using the Solve Option 14.14.1 Checking Your Model 14.15 Model Interface Keypad 14.15.1 Function Keys 14.15.2 Movement Keys 14.15.3 Select Keys 14.15.4 Miscellaneous Keys 14.15.5 Using a Mouse A VPA Messages and Recovery Procedures B Overhead Attributable to the VPA Data Collector C VPA Data Cells C.1 VPA Data Cells D The Default Workload Families E Syntax Rules for Model Input Files E.1 General Syntax for the Model Input File E.2 Model Input File Format E.2.1 Configuration Type Definition E.2.2 CI Definition E.2.3 CPU Definition E.2.4 CI Adapter Definition E.2.5 NI Adapter Definition E.2.6 HSC Definition E.2.7 Disk Definition E.2.8 Channel Definition E.2.9 CI Topology Definition E.2.10 I/O Subsystem Definition E.2.11 MSCP_SERVER Definition E.2.12 UserGroup Definition E.2.13 Transaction Class Definition E.2.13.1 The Load Descriptor Line E.2.13.2 The Transaction Class Workload Name E.2.13.3 CPU Branching Probabilities E.2.13.4 Disk Branching Probabilities E.2.13.5 UserGroup Branching Probabilities E.3 Component Type Keywords F VPA Logical Names Glossary EXAMPLES 7-1 Analysis Report: Memory Rule 7-2 Analysis Report: CPU Rule 7-3 Analysis Report: I/O Rule 7-4 Analysis Report: Miscellaneous Rule 7-5 Analysis Report: Analysis Summary 7-6 Analysis Report: Cluster Rule 7-7 Brief Analysis Report 7-8 Performance Evaluation Report: Process Statistics by Image for Interactive, Batch and Network Jobs 7-9 Performance Evaluation Report: Process Statistics by Workload and User 7-10 Performance Evaluation Report: Process Statistics by Workload 7-11 Performance Evaluation Report: Pool Statistics 7-12 Performance Evaluation Report: CPU Mode Statistics 7-13 Performance Evaluation Report: SCS Statistics 7-14 Performance Evaluation Report: Lock Statistics, Clusterwide 7-15 Performance Evaluation Report: CI, NI, and Adapter Statistics 7-16 Sample Performance Evaluation Report: Disk Statistics, Clusterwide 7-17 Performance Evaluation Report: Tape Statistics, Clusterwide 7-18 Performance Evaluation Report: Hot File Statistics, Clusterwide 7-19 Performance Evaluation Report: Summary Statistics, Clusterwide 7-20 CPU Utilization Histogram 7-21 Physical Memory Usage Histogram 7-22 Disk I/O Per Second Histogram 7-23 Terminal I/O Per Second Histogram 7-24 System Uptime Chart Histogram 7-25 Combined CPU Usage Chart Histogram 8-1 ANSI Formatted Graph 8-2 Tabular Formatted Output 8-3 Prompting for System Metrics Custom Graph 8-4 Prompting for Process Custom Graph 9-1 Auxiliary Rules File Example 10-1 History File Definitions and Reduction Scheme 11-1 BLISS Example of CIFDE Context Block 11-2 Extracting Data from the Daily Data Files FIGURES 7-1 Dump Report: Metrics Record 7-2 Dump Report: Parameters Record 7-3 Dump Report: Rules Record 7-4 Dump Report: Process Record 7-5 Dump Report: Disk Records 7-6 Dump Report: Disk Records, Part 2 7-7 Dump Report: Tape Records 7-8 Dump Report: Communication Records 7-9 Dump Report: Configuration and SCS Records 7-10 Dump Report: CPU Records 7-11 Dump Report: Hot Files Record 8-1 ReGIS Formatted Color Graph 8-2 ReGIS Formatted Pattern Graph 8-3 ReGIS Formatted Line Graph 8-4 X_POINTS Default Value Graph 8-5 Maximum X_POINTS Graph 8-6 Minimum X_POINTS Graph 8-7 Custom Graph for System Metrics 8-8 Custom Graph for Process Usage 13-1 Peak CPU Utilization 13-2 Disk I/O 13-3 Two Dimensional View of Workload 13-4 CPU Utilization by Workload 14-1 Model Interface Display Area 14-2 Model Interface Main Menu 14-3 Model Interface Prompting 14-4 Model Display 14-5 Viewing the Message Window 14-6 Status Window 14-7 Help Window 14-8 Loading a Model File 14-9 Set Display Mode Example 14-10 Display Mode Choices 14-11 Example of Probabilities Display 14-12 Setting the Current Workload 14-13 Selecting a New Source CPU 14-14 Choosing a New CPU 14-15 New Source CPU 14-16 Initial Workload Probabilities 14-17 Uniform Balancing 14-18 Relative Balancing 14-19 Set Balancing Mode 14-20 Selecting a Balancing Mode 14-21 Setting Probability Distribution 14-22 Probability Choices 14-23 Range of CPUs 14-24 Setting Workload Parameters 14-25 Example of a Workload Screen 14-26 Workload Metrics 14-27 Setting the System Load 14-28 Varying the Overall System Load 14-29 Varying a Load 14-30 Entering a New Object Name 14-31 Setting the Type of Device 14-32 Device Choices 14-33 Possible Disk Choices 14-34 Types of Disks 14-35 Add Options 14-36 Adding a CPU 14-37 Adapters You Can Select 14-38 New CPU Added to Model 14-39 The Move option 14-40 Choosing the Source Disk 14-41 Choosing a CPU 14-42 Choosing the Target CPU 14-43 Result of Moving a Disk 14-44 Remove Options 14-45 Choice of CPUs 14-46 Results of Removing a CPU 14-47 Duplicating a CPU 14-48 Selecting a CPU to Duplicate 14-49 CPU Duplicated 14-50 View Options 14-51 CPUs You Can View 14-52 Results of Choosing a CPU to View 14-53 Keypad Key Functions A-1 Parts of a VPA Message TABLES 1-1 Daily Data Interval Record Contents 2-1 The VPA Files 3-1 Data Collector and Node Status Description 5-1 List of Graph Types 5-2 VPA Metrics Grouped by Metric Class 5-3 Performance Evaluation Report Options 6-1 Summary of ADVISE/EDIT[/PARAMETER] Commands 6-2 Granularity Values 6-3 Periodicity Values 6-4 Effects of Changing Periodicity with a Yearly Granularity 7-1 Dump Report Description of Header Information 7-2 Process Record Headings 7-3 Disk Records Headings 7-4 Disk Record Part 2 Headings 7-5 Tape Record Headings 7-6 Communication Record Headings 7-7 Configuration and SCS Record Headings 7-8 CPU Record Headings 7-9 Hot Files Record Headings 7-10 Items Collected at Minor Intervals 9-1 Rules File Constructs 9-2 VPA Thresholds and Descriptions 9-3 Processor Specific Threshold Scaling Factors 9-4 Rule Construct Elements and Descriptions 9-5 Rule ID Abbreviations 9-6 Domain Names, Rule Testing, and Reporting 9-7 Rule Expression Operators and Descriptions 9-8 Data Subrecord Type with Associated Domain 9-9 Data Cell Type and Description 11-1 CIFDE-Data Type Identifiers 11-2 VPACTX$L_STATUS Return Status (VPA$OPEN_CONTEXT) 11-3 VPACTX$L_VPA_ERR Error Codes (VPA$OPEN_CONTEXT) 11-4 VPACTX$L_STATUS Return Status (VPA$READ_CONTEXT) 11-5 VPACTX$L_CONDS-Condition Mask (VPA$READ_CONTEXT) 11-6 VPACTX$L_VPA_ERR Error Codes (VPA$READ_CONTEXT) 11-7 VPACTX$L_STATUS Return Status (VPA$CLOSE_CONTEXT) 11-8 VPACTX$L_CONDS-Condition Mask (VPA$CLOSE_CONTEXT) 11-9 VPACTX$L_VPA_ERR Error Codes (VPA$CLOSE_CONTEXT) 11-10 Data Structure Definition Library Files 11-11 Configuration Record Field Definitions 11-12 Process Record Field Definitions 11-13 Metrics Record Field Definitions 11-14 CPU Record Field Definitions 11-15 Parameter Record Field Definitions 11-16 Time Record Field Definitions 11-17 Device Record Field Definitions 11-18 Tape Record Field Definitions 11-19 Communications Record Field Definitions 11-20 Hot File Record Field Definitions 13-1 Adding or Modifying a Workload 13-2 Modifying the Model to Reflect Changes in Load 14-1 Model Interface Default Object Names 14-2 Status Line 14-3 Set Options 14-4 Display Modes and Data Displayed 14-5 Workload Components 14-6 Move Workload - CPU Load 14-7 Move Workload - Disk I/O 14-8 Information Generated with SOLVE 14-9 Model Interface Function Keys 14-10 Model Interface Movement Keys 14-11 Model Interface Select Keys 14-12 Model Interface Miscellaneous Keys A-1 Severity Codes B-1 Estimates for Moderately Loaded Systems D-1 Users in the MODEL_USERGROUPS Family D-2 Images in the MODEL_TRANSACTIONS Family E-1 Valid Naming Conventions for Library and MDL Files