1、Capacity Planning in Client/Server Environments,Daniel A. Menasc George Mason University Fairfax, VA 22030 USA menascecs.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 Predic
2、tion Models for C/S Environments,Outline (continued),Part V: Advanced Predictive Models of C/S Systems Part VI: Case Study Bibliography,Part I: Client/Server (C/S) Systems,Definitions and Basic Concepts,ClientServerWork division between client and serverClient/Server communication,DB server,DB serve
3、r,Definitions and basic concepts,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 processi
4、ng 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,GUI,COMM.,COMM.,I/O,Pre & Post Process.,Processing,DB,Client,Server,communicati
5、ons network,Interaction between client and server Remote Procedure Call (RPC),client,DB server,pre-proces- sing,post-proces- sing,server processing,execute_SQL(par1,par2,.),result_SQL(.),Part II: Introduction to Capacity Planning,Migration to C/S example: “downsizing” a claim processing application,
6、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,mainframe,T1 line,Migration to C/S DB server based system,main
7、frame,T1 line,DB server,LAN,gateway,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 min
8、utes (1,800 sec): 25% CPU utilization 30% disk utilization800 transactions were executed Each transaction used:1,800 * 0.25 / 800 = 0.56 sec of CPU and1,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: transact
9、ions at the DB server compete for CPU and I/O queues will form at each device. We dont know how long each transaction waits in the queue for the CPU and for the disk.,DB Server Model,arriving transactions,DB server,departing transactions,CPU or I/O Times,service demand= 0.56 seg,queue waiting time,?
10、,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,no. of clie
11、nt workstations,response time (sec),service level,Part III: A Capacity Planning Methodology for Client/Server Environments,Configuration Plan,Investment Plan,Personnel Plan,Understanding the Environment,Workload Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performa
12、nce Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Configuration Plan,Investment Plan,Personnel Plan,Understanding the Environment,Workload Characterization,Workload Mo
13、del,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Understanding the Environment,Hardware and System Softwar
14、e 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 mainf
15、rame. 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
16、workstations running UNIX. Applications: office automation (e-mail, spreadsheets, wordprocessing), access to DBs (SQL servers) and resource sharing. Future applications: teleconferencing, EDI, image processing.,Configuration Plan,Investment Plan,Personnel Plan,Understanding the Environment,Workload
17、Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Workload Characterization,Pro
18、cess 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 b
19、asic components,Workload Characterization Basic 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,Identificati
20、on 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.,Workload Characterization Data Collection Alternatives,Benchmarks,National Software Testing Laboratori
21、es (NSTL): servers and applications. Transaction Processing Council (TPC) System Performance Evaluation Cooperative (SPEC) AIM Benchmark suites,Configuration Plan,Investment Plan,Personnel Plan,Understanding the Environment,Workload Characterization,Workload Model,Validation and Calibration,Workload
22、 Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Workload Model Validation,Configuration Plan,Investment Plan,Personnel Plan,Understanding the En
23、vironment,Workload Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Workload F
24、orecasting,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,Ap
25、plication Selection Identification of Forecasting Business Units (FBUs) Statistics gathering on FBUs FBU forecasting (use linear regression, moving averages, exponential smoothing) and business strategic plans.,Linear Regression Example,Configuration Plan,Investment Plan,Personnel Plan,Understanding
26、 the Environment,Workload Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,Per
27、formance 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 Prediction factors that impact performance,Client stations Servers Com
28、munication media Protocols Interconnection devices (bridges, routers and gateways),Performance Prediction Model Accuracy,Performance Prediction An Example,Performance Prediction QN for Example,Performance Prediction Response Times for the Example,Response Time (sec),Number of clients,Configuration P
29、lan,Investment Plan,Personnel Plan,Understanding the Environment,Workload Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost Model,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Plannin
30、g Methodology for Client Server Environments,Performance Model Validation,Configuration Plan,Investment Plan,Personnel Plan,Understanding the Environment,Workload Characterization,Workload Model,Validation and Calibration,Workload Forecasting,Performance Prediction,Cost Prediction,Valid Model,Cost M
31、odel,Developing a Cost Model,Performance Model,Cost/Performance Analysis,Capacity Planning Methodology for Client Server Environments,A Cost Model for C/S Environments,Less than 5% of US companies quantify or control PC and LAN costs. Some hidden costs in C/S environments: hardware maintenance and s
32、upport software maintenance and upgrades software distribution costs personnel costs (approx 60% of total cost),Some Cost ROTs,Software and hardware upgrades cost 10% of purchase price per year. A LAN administrator costs between US$500 and US$700 per client WS/month. Training costs vary between US$1
33、,500 and US$3,000 per technical staff person/year. 40% of personnel costs are in resource management, 40% in application development, and 20% in other categories.,Part IV: Performance Prediction Models for C/S Environments,Queues and Queuing Networks,Operational Analysis: Quick Review,Littles Law Ut
34、ilization Law Forced Flow Law Service Demand Law Response Time Law,Single Queue,average transaction arrival rate X = average throughput,Single Queue,W average waiting time S = average service time R = average response time,Single Queue,W,S,R,tps,X tps,R = W + S,Littles Law,Littles Law Example,A DB s
35、erver executes 10 transactions per second. On the average, 20 transactions are being executed simultaneously. What is the average transaction response time?,Littles Law Example,X = 10 tps N = 20Littles Law: N = R R = N / = 20 /10 = 2 sec,Littles Law applied to single queues,R,Utilization Law,no. tra
36、nsactions/ measurement interval =,busy time / measurement interval=,busy time / no. transactions =,B/T,C/T,B/C,Utilization Law,X = C / T,U = B / T,S = B / C,Utilization Law,X = C / T,tps,X tps,S,U,U = B / T,S = B / C,Utilization Law,tps,X tps,S,U = S * X,Utilization Law Example,Each access to the DB
37、 servers disk takes 25 msec on the average. During a one hour interval, 108,000 I/Os to the disk were executed. What is the disk utilization?,Utilization Law Example,S = 0.025 secX = 108,000 / 3,600 = 30 accesses/secUtilization Law: U = S * X U = 0.025 * 30 = 0.75 = 75 %,Forced Flow Law,Xo,Xi = Vi *
38、 Xo,Vi = avg. no. visits to device i per transaction,Forced Flow Law Example,Each transaction executed on the DB server performs 3 disk accesses on the average. The disk utilization measured during a one hour interval was 50%. During the same interval, 7,200 transactions were executed. What is the a
39、verage service time at the disk?,Forced Flow Law Example,Given:Vi = 3 disk accesses per transaction Ui = 30% = 0.3Xo = 7,200 / 3,600 = 2 tpsUtilization Law: Ui = Si * Xi Si = Ui / Xi Forced Flow Law: Xi = Vi * Xo Xi = 3 * 2 = 6 tpsSi = Ui / Xi = 0.3 / 6 = 50 msec,Service Demand Law,S1 S2 S3 S4,servi
40、ce demand (D),D = Si = V * S,i,Service Demand Law,X o= C / T tps,S1 S2 S3 S4,service demand (D),D = (U * T) / C = U / (C / T) = U / X,Service Demand Law,Xo= C / T tps,S1 S2 S3 S4,service demand (D),D = V * S = U / Xo,Response Time Law,Ro = Vi * Ri,Vi = avg. no. visits to device i per transaction,Ro,
41、i,Operational Analysis: summary,Littles Law: N = R Utilization Law: U = S * X Forced Flow Law: Xi = Vi * Xo Service Demand Law: D = U / Xo Response Time Law: Ro = Vi*Ri,i,Queuing Networks,Xo,Ro,Given: service demands and no. of customers Find: average response time (Ro), throughput (Xo), average que
42、ue length per device.,Queuing Networks Types of Devices,queuing device: load independent,Si(n) = Si for all n,queuing device: load dependentSi(n) = f(n),delay deviceRT(i,n) = Di,Queuing Network Solution,Basic Technique : Mean Value Analysis (MVA)Feature: simple, iterative and efficient.,Mean Value A
43、nalysis Residence Time Equation,Residence Time (RT) at device iRT (i,n) = Di + Di*NQ (i,n-1),my total service time,total waiting time = total service time of all customers I find ahead of me,Mean Value Analysis Residence Time Equation,Residence Time (RT) at device iRT (i,n) = Di * (1 + NQ (i,n-1)whe
44、re NQ (i,n) is the average number of transactions at device i when there are n transactions in the system.,Mean Value Analysis Throughput Equation,Ro,Xo,n trans.,Littles Law: n = Xo * Ro = Xo * RT(i,n),i,Mean Value Analysis Throughput Equation,Throughput Xo (n)Xo (n) = n / RT (i,n)where n is the num
45、ber of transactions in the system.,i,Mean Value Analysis Queue Length Equation,i,. . .,. . .,X (i, n),R (i, n),NQ (i,n),Littles Law NQ (i, n) = R (i, n) * X (i, n),Mean Value Analysis Queue Length Equation,Littles Law NQ (i, n) = R (i, n) * X (i, n),Forced Flow Law X (i, n) = Vi * Xo (n),NQ (i, n) =
46、 R (i, n) * Vi * Xo (n) =RT (i, n) * Xo (n),Mean Value Analysis Queue Length Equation,NQ (i, n) = RT (i, n) * Xo (n),Average Queue Length NQ (i, n),Mean Value Analysis Combining the 3 equations,NQ (i, n) = RT (i, n) * Xo (n),Xo (n) = n / RT (i,n),Di * (1 + NQ (i,n-1),where NQ (i, 0) = 0 for all devi
47、ce i.,Di,RT (i,n) =,if device i is a delay device,Mean Value Analysis Combining the 3 equations,NQ (i, 1) = RT (i, 1) * Xo (1),Xo (1) = 1 / RT (i,1),RT (i, 1) = Di * (1 + NQ (i, 0) =Di * (1 + 0) = Di,n = 1,Mean Value Analysis Combining the 3 equations,NQ (i, 2) = RT (i, 2) * Xo (2),Xo (2) = 2 / RT (
48、i,2),RT (i, 2) = Di * (1 + NQ (i, 1),n = 2,Mean Value Analysis Example,Revisiting the C/S migration example Response Time vs. No. Clients,C/S example: additional disk Response Time vs. No. Clients,Part V: Advanced Models for the Performance Prediction of C/S Systems,Example: Telemarketing Application,Customers order products through a catalog. Orders are made by phone using a credit card. 30,000 orders are received every day. Calls are placed on hold for the first available representative.,