- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
New Trade Paper
Ships in 1 to 3 days
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
More copies of this ISBN
Other titles in the Livelessons series:
Foundations of Software and System Performance Engineering: Process, Performance Modeling, Requirements, Testing, Scalability, and Practice (Livelessons)by Andre Benjamin Bondi
Synopses & Reviews
“If this book had been available to Healthcare.gov’s contractors, and they read and followed its life cycle performance processes, there would not have been the enormous problems apparent in that application. In my 40+ years of experience in building leading-edge products, poor performance is the single most frequent cause of the failure or cancellation of software-intensive projects. This book provides techniques and skills necessary to implement performance engineering at the beginning of a project and manage it throughout the product’s life cycle. I cannot recommend it highly enough.”
– Don Shafer, CSDP, Technical Fellow, Athens Group, LLC
Poor performance is a frequent cause of software project failure. Performance engineering can be extremely challenging. In Foundations of Software and System Performance Engineering, leading software performance expert Dr. André Bondi helps you create effective performance requirements up front, and then architect, develop, test, and deliver systems that meet them.
Drawing on many years of experience at Siemens, AT&T Labs, Bell Laboratories, and two startups, Bondi offers practical guidance for every software stakeholder and development team participant. He shows you how to define and use metrics; plan for diverse workloads; evaluate scalability, capacity, and responsiveness; and test both individual components and entire systems. Throughout, Bondi helps you link performance engineering with everything else you do in the software life cycle, so you can achieve the right performance–now and in the future–at lower cost and with less pain.
This guide will help you
• Mitigate the business and engineering risk associated with poor system performance
• Specify system performance requirements in business and engineering terms
• Identify metrics for comparing performance requirements with actual performance
• Verify the accuracy of measurements
• Use simple mathematical models to make predictions, plan performance tests, and anticipate the impact of changes to the system or the load placed upon it
• Avoid common performance and scalability mistakes
• Clarify business and engineering needs to be satisfied by given levels of throughput and response time
• Incorporate performance engineering into agile processes
• Help stakeholders of a system make better performance-related decisions
• Manage stakeholders’ expectations about system performance throughout the software life cycle, and deliver a software product with quality performance
André B. Bondi is a senior staff engineer at Siemens Corp., Corporate Technologies in Princeton, New Jersey. His specialties include performance requirements, performance analysis, modeling, simulation, and testing. Bondi has applied his industrial and academic experience to the solution of performance issues in many problem domains. In addition to holding a doctorate in computer science and a master’s in statistics, he is a Certified Scrum Master.
Poor performance is the single most frequent cause of software project failure. Why does poor performance happen? Too often, performance requirements are neglected or poorly drafted early in the project: consequently, software architecture is inherently incapable of meeting performance needs.
By clearly accounting for performance requirements, developers can dramatically reduce performance risk in any complex software project. However, performance engineering is challenging. It requires broad and interdisciplinary knowledge, including statistics, modeling, system design, testing, and an understanding of rapidly-evolving technologies. Now, renowned software performance expert Dr. André Bondi brings together all this knowledge, and shows how to apply it throughout the entire software development lifecycle, including requirements formulation, architecture specification, design, and functional and performance testing.
Drawing on decades of performance optimization experience at Siemens, AT and T Labs, and Bell Laboratories, Bondi shows software engineers how to:
About the Author
André B. Bondi is a senior staff engineer working in performance engineering at Siemens Corp., Corporate Technology in Princeton, New Jersey. He has worked on performance issues in several domains, including telecommunications, conveyor systems, finance systems, building surveillance, railways, and network management systems. Prior to joining Siemens, he held senior performance positions at two start-up companies. Before that, he spent more than ten years working on a variety of performance and operational issues at AT&T Labs and its predecessor, Bell Labs. He has taught courses in performance, simulation, operating systems principles, and computer architecture at the University of California, Santa Barbara. Dr. Bondi holds a Ph.D. in computer science from Purdue University, an M.Sc. in statistics from University College London, and a B.Sc. in mathematics from the University of Exeter.
Table of Contents
1. Why Performance Engineering? Why Performance Engineers?
2. Performance Metrics
3. Basic Performance Analysis
4. Workload Identification and Characterization
5. Performance Requirements, Business Needs, and the Problem Domain
6. Types of Performance Requirements
7. Writing and Managing Performance Requirements
8. System Measurement
9. Performance Testing
10. From System Understanding to Performance Evaluation and Prediction
11. Architecting and Designing Systems for Scalability
12. Performance Engineering Pitfalls
13. Applying Agile Methods to Performance Engineering
14. Learning, Telling, and Influencing the Performance Engineering Story
16. Where to Learn More
What Our Readers Are Saying