Programming Books C Java PHP Python Learn more Browse Programming Books
  • List Price: $59.99
  • Save: $23.32 (39%)
Rented from Amazon Warehouse Deals
To Rent, select Shipping State from options above
Due Date: Dec 22, 2014
FREE return shipping at the end of the semester. Access codes and supplements are not guaranteed with rentals.
  • List Price: $59.99
  • Save: $16.13 (27%)
Only 7 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Performance by Design: Co... has been added to your Cart
Trade in your item
Get a $10.38
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Performance by Design: Computer Capacity Planning By Example Paperback – January 15, 2004

ISBN-13: 978-0130906731 ISBN-10: 0130906735 Edition: 1st

Buy New
Price: $43.86
Price: $36.67
25 New from $38.50 26 Used from $22.86
Amazon Price New from Used from
"Please retry"
$38.50 $22.86

Frequently Bought Together

Performance by Design: Computer Capacity Planning By Example + Capacity Planning for Web Services: Metrics, Models, and Methods + The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling
Price for all three: $154.24

Some of these items ship sooner than the others.

Buy the selected items together


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 480 pages
  • Publisher: Prentice Hall; 1 edition (January 15, 2004)
  • Language: English
  • ISBN-10: 0130906735
  • ISBN-13: 978-0130906731
  • Product Dimensions: 1 x 7 x 9.5 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #881,330 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

Practical systems modeling: planning performance, availability, security, and more

Computing systems must meet increasingly strict Quality of Service (QoS) requirements for performance, availability, security, and maintainability. To achieve these goals, designers, analysts, and capacity planners need a far more thorough understanding of QoS issues, and the implications of their decisions. Now, three leading experts present a complete, application-driven framework for understanding and estimating performance. You'll learn exactly how to map real-life systems to accurate performance models, and use those models to make better decisions--both up front and throughout the entire system lifecycle. Coverage includes:

  • State-of-the-art quantitative analysis techniques, supported by extensive numerical examples and exercises
  • QoS issues in requirements analysis, specification, design, development, testing, deployment, operation, and system evolution
  • Specific scenarios, including e-Business and database services, servers, clusters, and data centers
  • Techniques for identifying potential congestion at both software and hardware levels
  • Performance Engineering concepts and tools
  • Detailed solution techniques including exact and approximate MVA and Markov Chains
  • Modeling of software contention, fork-and-join, service rate variability, and priority
About the Web Site

The accompanying Web site provides companion Excel workbooks that implement many of the book's algorithms and numerical examples.

Excerpt. © Reprinted by permission. All rights reserved.

Goal, Theme, and Approach

The idea of writing this book originated from our observation that some of the most fundamental concepts and methods related to performance modeling and analysis are largely unknown to most Information Technology (IT) practitioners. As a result, many IT systems are designed and built without sufficient consideration given to their non-functional requirements such as performance, availability, and reliability. More often than not, performance is an afterthought. Performance testing is done when a system is nearing completion. At that late stage, it may be necessary to conduct a major redesign to correct eventual performance problems. This approach is inefficient, expensive, time consuming, and professionally irresponsible.

A major goal of this book is to provide to those involved in designing and building computer systems a performance engineering framework to be applied throughout a computer system’s life cycle. This framework is quantitative, rigorous, and based on the theory of queuing networks. Some of our readers may not be interested in the details behind the models. For that reason, we divided the book into two parts: the practice of performance engineering (Part I) and the theory of performance engineering (Part II).

Part I brings many examples and case studies supported by algorithms implemented in Visual Basic modules attached to the various MS Excel workbooks provided with the book. Five complete case studies are inspired in real-world problems: a database service sizing, a Web service capacity planning situation, a data center’s cost and availability analysis, the sizing of an e-business service, and the performance engineering of a future help desk application. After reading Part I, the reader should be able to 1) identify the sources of potential performance problems of a computer system and 2) build and solve performance models to answer what-if questions regarding competing hardware and software alternatives. The models that you build can be solved with the tools provided with the book.

Part II presents the theory of performance engineering in an intuitive, example-driven manner. Before the algorithms and methods are formalized, the basic ideas are derived from first principles applied to examples. The readers of part II are exposed to the most important techniques for solving 1) Markov models, 2) open and closed multiclass queuing networks using exact and approximate methods, and 3) non-product form queuing networks that represent software contention, blocking, high service time variability, priority scheduling, and fork and join systems.

Throughout Part I, references to specific techniques and methods of Part II provide a nice integration between the two components of this text.

Who Should Read This Book

Information technology professionals must ensure that the systems 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. Performance engineers, system administrators, software engineers, 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 also be used as a textbook for senior undergraduate and graduate courses in Computer Science and Computer Engineering. Exercises are provided at the end of all fifteen chapters. At the undergraduate level, the book is a good starting point to motivate students to learn the important implications and solutions to performance problems. An undergraduate course would concentrate on the first part of the book, i.e., the practice of performance engineering. 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.

Book Organization Part I: The Practice of Performance Engineering

Chapter 1 introduces several properties and metrics used to assess the quality of IT systems. Such metrics include response time, throughput, availability, reliability, security, scalability, and extensibility. The chapter also discusses the various phases of the life cycle of a computer system and shows the importance of addressing QoS issues early on in the design stage as opposed to after the system is deployed.

Chapter 2 presents the qualitative aspects of the performance engineering framework used in this book. The framework is based on queuing networks. The chapter uses examples of practical systems to introduce the various aspects of such queuing networks.

Chapter 3 focuses on the quantitative aspects of the queuing network framework and introduces the input parameters and performance metrics that can be obtained from these models. The notions of service times, arrival rates, service demands, utilization, queue lengths, response time, throughput, and waiting time are discussed. The chapter also introduces Operational Analysis, a set of basic quantitative relationships between performance quantities.

Chapter 4 presents a practical performance engineering methodology and describes its steps: specification of the system’s performance goals, understanding the current environment, characterization of the workload, development of a performance model, validation of the performance and workload models, workload forecasting, and cost × performance analysis of competing alternatives.

Chapter 5 uses a complete case study of a database service sizing to introduce the issue of obtaining input parameters to performance models from measurement data. The chapter also discusses various types of software monitors and their use in the data collection process.

Chapter 6 uses a Web server capacity planning case study to introduce several important concepts in performance engineering, including the determination of confidence intervals, the computation of service demands from the results of experiments, the use of linear regression, and comparison of alternatives through analytic modeling and through experimentation.

Chapter 7 applies performance modeling techniques to address the issue of properly sizing a data center. This sizing is part of the system design process and focuses on the number of machines and the number and skill level of maintenance personnel to achieve desired levels of availability.

Chapter 8 shows, through an online auction site case study, how performance models are used to analyze the scalability of multi-tiered e-business services. The workload of these services is characterized at the user level. User models are used to characterize the way customers navigate through the various e-business functions during a typical visit to an e-commerce site. This ...

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 6 customer reviews
I gained a lot reading this book.
N. L. Senthilnathan
If you teach performance planning, this is an ideal text around which you can base a curriculum that will prepare your students for real world challenges.
Mike Tarrani
It is a reasonably easy introduction to his brand of performance modeling.
Robert J. Fielding

Most Helpful Customer Reviews

13 of 13 people found the following review helpful By Mike Tarrani HALL OF FAMETOP 50 REVIEWER on January 29, 2004
Format: Paperback
This team of authors has produced yet another invaluable book for practitioners who perform capacity and performance planning, as well as students who are introduced to this topic for the first time. Unlike earlier works by the authors, which addressed performance in specific systems environments such as client/server, e-business and web services, this book is more general. Therein lies the true value - it teaches the fundamentals and will not be soon outdated.
The book is structured into two parts - Part I consists of four chapters that lay the foundation. Chapter 1 covers system life cycles, Chapter 2 moves the reader from systems to descriptive models of the systems, and Chapters 3 and 4 delve into the essence of performance - quantifying performance models and giving a performance engineering methodology. This material is reinforced with five chapters, each of which is a case study of a specific performance problem. These include database services, web servers, data center, e-business services and help-desk services.
Part II, The Theory of Performance Engineering, addresses the underlying knowledge that performance and capacity planners will need in order to approach their tasks using true quantitative methods. The six chapters in this part of the book cover the following topics in detail, and are clearly and succinctly written: Markov models, single queue systems, single class MVA (Mean Value Analysis), queuing models with multiple classes, queuing models with load dependent devices, and non product-form queuing models.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
14 of 15 people found the following review helpful By Mark B. Friedman on February 11, 2004
Format: Paperback
"Performance by Design" provides both a conceptual and a practical framework for experienced software developers that want to get started building quality applications using performance engineering techniques.
Performance engineering is a discipline that attempts to integrate concerns about the responsiveness of computer applications and their capacity requirements into standard application development practices, which otherwise focus almost exclusively on meeting functional requirements. Just like not getting the functional spec right in the early stages of the application development lifecycle can lead to a cascading series of design and implementation decisions that are difficult to reverse in later stages of the development process, neglecting performance considerations until after the applications has met its functional requirements is often too late to tackle them effectively.
The first part of the book surveys a wide range of performance modeling and capacity planning techniques, served up in clear, concise language with a minimum of mathematics. It is a gentle introduction to analytic queuing networks written at the level that any advanced undergraduate Computer Science student ought to be able to master. The heart of the book, representing Chapters 5 through 9, is a series of Case Studies that rounds out and concludes Part 1. Each of the case studies deftly illustrates another analytic technique that a performance engineer needs to understand how to apply. Chapter 5, for instance, steps through descriptive statistics and cluster analysis as it discusses what is involved in deriving model parameters for a simple database transaction workload.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
3 of 3 people found the following review helpful By N. L. Senthilnathan on December 29, 2006
Format: Paperback
Capacity and Performance management is a very complex subject. I have read a couple of books. Most of them had dry theory without supporting examples. In some cases, I abruptly stopped reading. These type of books may be good to people who are quite fresh from the academic world. Having worked for sometime, one would desire a book with simple but strong fundamentals and more of relating examples.

This book stood out to my quest. The pace of the coverage was gradual from Gear 1 to Overdrive. Every ounce of theory was supported with examples. Normally I would skip theory and look for examples. But here I enjoyed reading theory. Well Written!

The Case Studies were real world examples. I gained a lot reading this book. Would recommend this book for Technology professionals who want to switch to Capacity and Performance Management.

I would definitely want Mr Menasce and his team to write books on the same topic to address real world end-to-end and new challenges like Petri Nets, Technology Consolidation, Data Warehousing, GRID, Utility Computing, Virtualisation etc. This should definitely help the Technology Community at large.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again