1 / 137

Capacity Planning in Client/Server Environments

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

temple
Télécharger la présentation

Capacity Planning in Client/Server Environments

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Capacity Planning in Client/Server Environments Daniel A. Menascé George Mason University Fairfax, VA 22030 USA menasce@cs.gmu.edu

  2. 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

  3. Outline (continued) • Part V: Advanced Predictive Models of C/S Systems • Part VI: Case Study • Bibliography

  4. Part I:Client/Server (C/S) Systems

  5. Definitions and Basic Concepts • Client • Server • Work division between client and server • Client/Server communication

  6. . . . router R LAN segment 1 FDDI ring router LAN segment 2 R . . . Definitions and basic concepts DB server DB server

  7. 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.

  8. 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.

  9. Work division between client and server Client Server GUI Processing Pre & Post Process. I/O COMM. COMM. DB communications network

  10. 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

  11. Part II:Introduction to Capacity Planning

  12. 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.

  13. Migration to C/S systems mainframe based system T1 line mainframe

  14. Migration to C/S DB server based system DB server LAN gateway T1 line mainframe

  15. 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?

  16. 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.

  17. 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.

  18. cpu disk DB Server Model arriving transactions departing transactions DB server

  19. CPU or I/O Times service demand = 0.56 seg ? queue waiting time

  20. 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.

  21. C/S Migration Example:desired results response time (sec) service level no. of client workstations

  22. Part III:A Capacity Planning Methodology for Client/Server Environments

  23. 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

  24. 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

  25. 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

  26. 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.

  27. 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.

  28. 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

  29. 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.

  30. Workload Characterization: workload components and basic components

  31. 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.

  32. 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.

  33. Workload CharacterizationData Collection Alternatives

  34. Benchmarks • National Software Testing Laboratories (NSTL): servers and applications. • Transaction Processing Council (TPC) • System Performance Evaluation Cooperative (SPEC) • AIM Benchmark suites

  35. 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

  36. Workload Model Validation

  37. 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

  38. Workload Forecasting Process of predicting the workload intensity. tps

  39. 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

  40. 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.

  41. Linear Regression Example

  42. 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

  43. 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

  44. Performance Predictionfactors that impact performance • Client stations • Servers • Communication media • Protocols • Interconnection devices (bridges, routers and gateways)

  45. Performance Prediction Model Accuracy

  46. . . . router R LAN Segment 1 FDDI ring router LAN segment 2 R . . . Performance PredictionAn Example

  47. Performance Prediction QN for Example

  48. Performance Prediction Response Times for the Example Response Time (sec) Number of clients

  49. 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

  50. Performance Model Validation

More Related