1.37k likes | 1.89k Views
Capacity Planning in Client/Server Environments. Daniel A. Menascé George Mason University Fairfax, VA 22030 USA menasce@cs.gmu.edu. Outline. Part I: Client/Server Systems Part II: Introduction to Capacity Planning Part III: A Capacity Planning Methodology for C/S Environments
E N D
Capacity Planning in Client/Server Environments Daniel A. Menascé George Mason University Fairfax, VA 22030 USA menasce@cs.gmu.edu
Outline • Part I: Client/Server Systems • Part II: Introduction to Capacity Planning • Part III: A Capacity Planning Methodology for C/S Environments • Part IV: Performance Prediction Models for C/S Environments
Outline (continued) • Part V: Advanced Predictive Models of C/S Systems • Part VI: Case Study • Bibliography
Definitions and Basic Concepts • Client • Server • Work division between client and server • Client/Server communication
. . . router R LAN segment 1 FDDI ring router LAN segment 2 R . . . Definitions and basic concepts DB server DB server
Definitions and basic concepts:Client • Workstation with graphics and processing capabilities. • Graphical User Interface (GUI) implemented at the client. • Partial processing executed at the client.
Definitions and basic concepts:Server • Machine with much larger processing and I/O capacity than the client. • Serves the various requests from the clients. • Executes a significant portion of the processing and I/O of the requests generated at the client.
Work division between client and server Client Server GUI Processing Pre & Post Process. I/O COMM. COMM. DB communications network
Interaction between client and serverRemote Procedure Call (RPC) client DB server pre-proces- sing execute_SQL(par1,par2,...) server processing result_SQL(...) post-proces- sing
Migration to C/S example:“downsizing” a claim processing application • DB server connected to several PCs through an Ethernet LAN • GUI application executing at the PCs • LAN connected to the enterprise mainframe through a T1 line • DB server is updated every night.
Migration to C/S systems mainframe based system T1 line mainframe
Migration to C/S DB server based system DB server LAN gateway T1 line mainframe
Migration to C/S:some important questions • How many clients can be supported by the DB server while maintaining a response time below 2.5 sec? • How long does it take to update the DB every night?
Migration to C/S example: measurements with a prototype • During 30 minutes (1,800 sec): • 25% CPU utilization • 30% disk utilization • 800 transactions were executed • Each transaction used: 1,800 * 0.25 / 800 = 0.56 sec of CPU and 1,800 * 0.30 / 800 = 0.68 sec of disk.
Good News and Bad News • Good News: we know the CPU and I/O service time of each transaction. • Bad News: transactions at the DB server compete for CPU and I/O queues will form at each device. We don’t know how long each transaction waits in the queue for the CPU and for the disk.
cpu disk DB Server Model arriving transactions departing transactions DB server
CPU or I/O Times service demand = 0.56 seg ? queue waiting time
Capacity Planning Definition Capacity Planning is the process of predicting when the service levels will be violated as a function of the workload evolution, as well as the determination of the most cost-effective way of delaying system saturation.
C/S Migration Example:desired results response time (sec) service level no. of client workstations
Part III:A Capacity Planning Methodology for Client/Server Environments
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Understanding the Environment • Hardware and System Software • Network Connectivity Map • Network Protocols • Server Configurations • Types of Applications • Service Level Agreements • Support and Management Structure • Procurement Procedures
Example of Understanding the Environment • 5,000 PCs (386 e 486) running DOS and Windows 3.1 and 800 UNIX workstations. • IBM MVS mainframe. • 80 LANs in 20 buildings connected by an FDDI 100 Mbps backbone. • 50 Cisco routers. • Network technologies: FDDI, Ethernet, T1 links and Internet.
Example of Understanding the Environment (continued) • Protocols being routed: TCP/IP and Novell IPX. • Servers: 80% are 486 and Pentiums and 20% are RISC workstations running UNIX. • Applications: office automation (e-mail, spreadsheets, wordprocessing), access to DBs (SQL servers) and resource sharing. • Future applications: teleconferencing, EDI, image processing.
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Workload Characterization • Process of partitioning the global workload into subsets called workload components. Examples of workload components: • DB transactions, • requests to a file server or, • jobs with similar characteristics. • Workload components are composed of basic components.
Workload Characterization: workload components and basic components
Workload CharacterizationBasic Component Parameters • Workload Intensity Parameters • number of messages sent/hour • number of query transactions/sec • Service Demand Parameters • average message length • average I/O time per query transaction.
Workload Characterization Methodology • Identification of Workload Components • Identification of Basic Components. • Parameter Selection. • Data Collection: benchmarks and ROTS (Rules of Thumb) may be used. • Workload partitioning: averaging and clustering.
Benchmarks • National Software Testing Laboratories (NSTL): servers and applications. • Transaction Processing Council (TPC) • System Performance Evaluation Cooperative (SPEC) • AIM Benchmark suites
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Workload Forecasting Process of predicting the workload intensity. tps
Workload Forecasting Forecasting Business Units • Number of business elements that determine the workload evolution • number of invoices • number of accounts • number of employees • number of claims • number of beds
Workload Forecasting Methodology • Application Selection • Identification of Forecasting Business Units (FBUs) • Statistics gathering on FBUs • FBU forecasting (use linear regression, moving averages, exponential smoothing) and business strategic plans.
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan
Performance Prediction • Predictive models: analytic or simulation based. • Analytic models are based on Queuing Networks (QNs) • efficient • allow for the fast analysis of a large number of scenarios • ideal for capacity planning
Performance Predictionfactors that impact performance • Client stations • Servers • Communication media • Protocols • Interconnection devices (bridges, routers and gateways)
. . . router R LAN Segment 1 FDDI ring router LAN segment 2 R . . . Performance PredictionAn Example
Performance Prediction Response Times for the Example Response Time (sec) Number of clients
Capacity Planning Methodology for Client Server Environments Understanding the Environment Workload Characterization Developing a Cost Model Workload Model Cost Model Performance Model Validation and Calibration Workload Forecasting Valid Model Performance Prediction Cost Prediction Cost/Performance Analysis Configuration Plan Personnel Plan Investment Plan