Home > Store

Capacity Planning for Web Services: Metrics, Models, and Methods

Register your product to gain access to bonus material or receive a coupon.

Capacity Planning for Web Services: Metrics, Models, and Methods

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 2002
  • Dimensions: 7" x 9-1/2"
  • Pages: 600
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-065903-7
  • ISBN-13: 978-0-13-065903-3

The world's #1 book on Web capacity planning has now been completely revamped to reflect the latest Web services and e-commerce applications, and the latest techniques and technologies for supporting them. In this book, two of the world's leading Web capacity planning experts show how to precisely quantify potential and real performance problems, and address them proactively. Daniel A. Menascé and Virgilio A.F. Almeida introduce quantitative performance predictive models for every major Web scenario -- especially the latest Web services, e-commerce, and mobile applications. The book's extensive coverage of Web services includes protocols and interaction models; unique performance, reliability, and availability challenges; and new capacity planning methodologies. Menascé and Almeida introduce the fundamentals of performance and capacity planning in any client/server environment; specific issues associated with HTTP and TCP/IP protocols; and typical workloads. They demonstrate how to benchmark current performance at both the system and component level; plan future capacity; define service level agreements; accommodate peak usage; and manage tradeoffs between cost and performance.

Sample Content

Table of Contents



Preface.


About the Authors.


1. When Web Performance Is a Problem.

Introduction. Web Site Performance. Client/Server Performance. The Capacity Planning Concept. Corporate Portal Performance. ISP Performance. Concluding Remarks.



2. Protocols and Interaction Models for Web Services.

Introduction. The World of Networks. The World of Clients and Servers. The Peer-to-Peer Model. Web Service Protocols. Concluding Remarks.



3. Basic Performance Concepts.

Introduction. The Big Picture of Response Time. Service Times and Service Demands. Web Page Download Time. Queues and Contention. Some Basic Performance Results. Performance Metrics in Web Systems. Concluding Remarks.



4. Performance Issues of Web Services.

Introduction. From Boxes to Services. Perception of Performance. Where Are the Delays? Web Infrastructure. Server Architectures. Networks. Concluding Remarks.



5. Planning the Capacity of Web Services.

Introduction. Adequate Capacity. A Capacity Planning Methodology for Web Services. Understanding the Environment. Workload Characterization. Workload Forecasting. Performance/Availability Modeling and Prediction. Development of a Cost Model. Cost/Performance Analysis. Concluding Remarks.



6. Understanding and Characterizing the Workload.

Introduction. Characterizing the Workload of a Corporate Portal. A Workload Characterization Methodology. Web Workloads. Concluding Remarks.



7. Benchmarks and Performance Tests.

Introduction. The Nature of Benchmarks. Processor Benchmarks. Web Server Benchmarks. System Benchmarks. Performance Testing. Concluding Remarks.



8. System-Level Performance Models.

Introduction. Simple Server Model Infinite Queue. Simple Server Model Finite Queue. Generalized System-Level Models. Other System-Level Models. Concluding Remarks.



9. Component-Level Performance Models.

Introduction. Queuing Networks. Open Systems. Closed Models. Modeling Multiprocessors. Combining System- and Component-Level Models. An Intranet Model. Concluding Remarks.



10. Web Performance Modeling.

Introduction. Incorporating New Phenomena. Client-Side Models. Server-Side Models. Concluding Remarks.



11. Availability of Web Services.

Introduction. A Motivating Availability Example. Why and How Systems Fail. Reliability and Availability Basics. The Reliability of Systems of Components. Revisiting the Online Broker Example. Performance and Availability. Software Aging and Rejuvenation. Concluding Remarks.



12. Workload Forecasting.

Introduction. Why Workload Changes? Forecasting Strategy. Forecasting Process. Forecasting Techniques. Concluding Remarks.



13. Measuring Performance.

Introduction. Performance Measurement Framework. The Meaning of Measurements. Measurement Process. Data Collection Techniques and Tools. Performance Model Parameters. Obtaining Model Parameters. Concluding Remarks.



14. Wrapping Up.

Introduction. Characteristics of Large-Scale Systems. Model-Based Approach. Concluding Remarks.



Appendix A: Glossary of Terms.


Appendix B: Downloads.

The Microsoft Excel Workbooks. HTTP Log Sample and Program.



Index.

Preface

Preface

This is what makes this book unique and worth reading: Businesses, government agencies, and individuals are increasingly dependent on Web services for their day-to-day operation. As a consequence, quality of service, in particular performance and availability considerations, are becoming extremely important. Performance analysis of Web services is unique in many ways. First, Web services rely on large-scale systems that consist of thousands of computers, networks, software components, and users. Large-scale systems are inherently complex. The randomness associated with the way users request Web services compounds the problem of managing and planning the capacity of those services.

This book uses a quantitative approach to analyzing Web services. It provides a framework to understand the Web's complex relationships and how these relationships impact performance and availability of Web services. This approach lends itself to the development of performance and availability predictive models for managing and planning the capacity of Web services. Instead of relying on intuition, ad hoc procedures, and rules of thumb, we provide a uniform and sound way for dealing with performance problems. The models discussed here are based on probability fundamentals and on the theory of queuing networks. The techniques and models presented in this book provide a simple and practical approach to dealing with Web-based systems. Models are essential tools to simplifying the representation of complex systems and, at the same time, to capturing the most relevant characteristics of those systems.

There are several books on computer system performance evaluation, but they do not focus on Web-based systems. The Web has special features that make its performance problems unique and demand novel approaches to dealing with them. This book presents a sound and practical approach to addressing these challenges. Also, this book is not tied to any specific technology or product; it is general enough to be valuable in any Web-based environment.

This is an example-driven book. Many real-world examples with solutions are used to illustrate the use of models and analytic techniques. The models are available as Microsoft Excel worksheets, which makes it easy for readers to understand detailed situations of capacity planning of real-world Web services. The case studies presented are inspired in problems that come up very often in the course of planning, designing, implementing, operating, and managing Web services. The examples, case studies, and spreadsheets allow the reader to immediately put into practice the methods and models discussed here.

Who Should Read This Book

Information technology professionals must ensure that the Web services under their management provide an acceptable quality of service to their users. Managers must avoid the pitfalls of inadequate capacity and meet users' performance expectations in a cost-effective manner. System administrators, Web masters, network administrators, capacity planners and analysts, managers, consultants, and other IT professionals will benefit from reading parts or the entire book. Its practical, yet sound and formal, approach provides the basis for understanding modern and complex networked environments.

This book can be used as a textbook for senior undergraduate and graduate courses in Computer Science and Computer Engineering. At the undergraduate level, the book is a good starting point to motivate students to learn the important implications and solutions to performance problems. In particular, this book is very useful to in providing students with the quantitative skills required to analyze the behavior of Web systems. At the graduate level, it can be used in System Performance Evaluation courses. This book offers a theoretical and practical foundation in performance modeling. The book can also be used as a supplement for systems courses, including Operating Systems, Distributed Systems, and Networking, both at the undergraduate and graduate levels. A series of exercises and short projects is available at the Web site associated with this book (www.cs.gmu.edu/~menasce/webservices/).

Book Organization

Chapter 1 introduces, through a series of examples, the importance of performance and availability considerations for Web services. The concepts of capacity planning, service levels, and workload evolution are defined and illustrated.

Chapter 2 presents a brief discussion on local and wide area networks and their protocols including TCP/IP, Ethernet, IEEE 802.11, Token Ring, and FDDI. The chapter revisits the client server (C/S) computing paradigm and discusses several kinds of servers, such as file servers, database servers, application servers, groupware servers, object servers, and Web servers. Various architectural C/S issues, including two-tier versus three-tier C/S architectures, are presented. The HTTP protocol is described in this chapter. The Peer-to-Peer model is also discussed as an alternative to the C/S paradigm used to support Web services. Standards-based technologies for Web services, such as Simple Object Access Protocol (SOAP) and Web Service Description Language (WSDL) are also presented. The concepts here are presented in light of performance considerations and tradeoffs.

Chapter 3 investigates, in detail, the nature of the delay incurred by a typical Web request. A complete analysis of the time to download a Web page is presented. This chapter shows how service times can be computed at single disks, disk arrays, networks, and routers. Queues and contention are defined more formally and some very basic and important performance results from Operational Analysis are introduced.

Chapter 4 discusses issues that affect performance of Web services. The chapter starts by looking at the sources of delay in Web environments. After discussing the end-user perspective to Web service performance, the chapter provides an assessment. It examines the components and protocols involved in the execution of Web services and analyzes their capacity and performance issues. New concepts such as heavy-tailed characteristics, traffic spikes, and network caching are analyzed through the use of simple performance models. The Wireless Application Protocol (WAP) is also presented in this chapter.

Chapter 5 introduces a step-by-step methodology to determining the most cost-effective Web service infrastructure. The main steps of the methodology are: understanding the environment, workload characterization, work-load model validation and calibration, performance and availability model development, model validation and calibration, workload forecasting, performance and availability prediction, cost model development, cost prediction, and cost/performance-availability analysis.

Chapter 6 describes and illustrates with examples the major steps required for the construction of workload models. The common steps to be followed by any workload characterization project include specification of the standpoint from which the workload will be analyzed, choice of the set of parameters that capture the most relevant characteristics of the workload for the purpose of the study, monitoring the system to obtain the raw performance data, analysis and reduction of performance data, and construction of a workload model. Some characteristics of Web workloads are discussed and power-laws models are introduced.

Chapter 7 presents several different standard industry benchmarks-such as TPC-C and TPC-W, SPECCPU, SPECWEB, and WebStone-and shows how to use benchmark results as a complementary source of information to support the capacity planning methodology. Mathematical models that represent characteristics of actual Web workloads are studied in this chapter. This chapter also examines performance testing, which is commonly used to determine how users will experience the performance of a Web service.

Chapter 8 starts by introducing very simple models of Web-based systems. Complexity is progressively introduced and the solution to each model is presented using first principles and intuitive concepts. After a few models are presented, the approach is generalized. The models presented in this chapter are called system-level performance models since they view the system being modeled as a "black box."

Chapter 9 introduces powerful techniques to analyzing the performance of intranets and Web sites. The chapter considers the components that make up a Web-based system. Component-level models account for the different resources of the system and the way they are used by different requests. The solution techniques for component-level models are based on Queuing Networks (QN). Solution methods for both open and closed QNs with multiple classes of customers are presented in this chapter. The chapter also shows how system- and component-level models can be combined to address more complex modeling situations.

Chapter 10 shows how the performance models discussed in previous chapters can be specialized to handle specific Web performance issues. The chapter also shows how certain special features common in Web workloads, such as burstiness and heavy-tail distributions of file sizes, can be accounted for in performance models for the Web.

Chapter 11 introduces availability, reliability and performability as important metrics that define the quality of service provided by Web-based applications. A quantitative framework, based on the state transition diagram, is developed to model availability, reliability, performability, software aging and rejuvenation.

Chapter 12 shows how to apply existing forecasting methods and techniques to predict the future workload for Web services. Forecasting techniques includes linear and non linear regression models, moving averages, and exponential smoothing. A strategy and a methodology for workload forecasting is discussed here. It encompasses selection of the workload to be forecast, analysis of historical data and estimation of workload growth, selection of a forecasting technique, application of the forecasting technique to the historical data, and analysis and validation of forecast results.

Chapter 13 presents a framework for collecting performance data in Web environments. Next, it discusses the main issues in the process of measuring the performance of Web-based systems. The chapter does not focus on any specific product or manufacturer. Instead, it presents general procedures for transforming typical measurement data into input parameters. The procedures can be thought of as a set of major guidelines for obtaining input parameters for performance models.

Chapter 14 wraps up the book by emphasizing the approach and methods used to develop and solve analytical performance models of Web services. It also discusses properties that should be pursued for the design and implementation of large-scale information systems. For any service provider, whether financial services, merchants, or government services, it is necessary to guarantee the quality of service, which is represented by key issues such as trustworthiness and security, performance, and availability. The chapter discusses the importance of modeling to address these key issues. Appendix A contains a glossary of the important terms introduced in the book.

Appendix B provides a description of the Microsoft Excel workbooks that accompany this book and describes the C program provided to derive burstiness parameters for HTTP logs.

Book's Web Site and Authors' Addresses

The Web site at www.cs.gmu.edu/~menasce/webservices/ will be used to keep the readers informed about new developments related to the book and to store the various Excel workbooks described in the book.

The authors' e-mail, postal addresses, and Web sites are:

Professor Daniel A. Menasce
Department of Computer Science, MS 4A5
George Mason University
Fairfax, VA 22030-4444
United States
(703) 993-1537
menasce@cs.gmu.edu
www.cs.gmu.edu/faculty/menasce.html

Professor Virgilio A. F. Almeida
Department of Computer Science
Universidade Federal de Minas Gerais
P.O. Box 920
31270-010 Belo Horizonte, MG
Brazil
+55 31 3499-5860
virgilio@dcc.ufmg.br
www.dcc.ufmg.br/~virgilio

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020