skip to main content
Skip header Section
Performance solutions: a practical guide to creating responsive, scalable softwareJanuary 2002
Publisher:
  • Addison Wesley Longman Publishing Co., Inc.
  • 350 Bridge Pkwy suite 208 Redwood City, CA
  • United States
ISBN:978-0-201-72229-1
Published:01 January 2002
Pages:
544
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

Performance Solutions offers straightforward techniques and strategies that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. In particular the book focuses on how to design performance into software systems early and then maintain performance throughout the software development life cycle. Software Performance Engineering (SPE) is a systematic, quantitative approach to cost-effectively constructing software systems that meet performance objectives. This book details the various SPE models that can be used for a wide variety of applications, including Web-based and distributed systems. It describes effective data gathering and performance measurement techniques and explores the principles of performance-oriented design. You will also find practical guidance on implementing an SPE program. Specific topics of interest include: Reactive versus proactive performance management, Using UML for SPE, Specifying key performance scenarios and performance objectives, Gathering performance data and estimating resource requirements, Constructing and solving performance models, Modeling complex interactions in distributed systems, Planning and conducting performance measurements, Principles for performance-oriented design, Patterns that illustrate "best practice" approaches to achieving responsiveness and scalability, Antipatterns that illustrate what not to do and how to fix a problem when you find it, SPE activities for mid- to late life cycle, Performance tuning strategies, Integrating SPE into your software process, SPE implementation strategies and critical success factors, Numerous real-world applications and case studies illustrate the application of SPE techniques to important application domains, including Web and embedded real-time systems. With this book, you will gain the understanding and skills you need to make informed choices among architectural and design alternatives and create responsive, scalable software on time and within your budget.

Cited By

  1. Liao L Addressing Performance Regressions in DevOps: Can We Escape from System Performance Testing? Proceedings of the 45th International Conference on Software Engineering: Companion Proceedings, (203-207)
  2. Qasim A, Munawar A, Hassan J and Khalid A (2021). Evaluating the Impact of Design Pattern Usage on Energy Consumption of Applications for Mobile Platform, Applied Computer Systems, 26:1, (1-11), Online publication date: 1-May-2021.
  3. ACM
    Pagliari L, D'Angelo M, Caporuscio M, Mirandola R and Trubiani C Performance Modelling of Intelligent Transportation Systems: Experience Report Companion of the ACM/SPEC International Conference on Performance Engineering, (155-160)
  4. ACM
    Smith C Software Performance Engineering Education Companion of the ACM/SPEC International Conference on Performance Engineering, (131-132)
  5. ACM
    Smith C Software Performance Antipatterns in Cyber-Physical Systems Proceedings of the ACM/SPEC International Conference on Performance Engineering, (173-180)
  6. ACM
    Maddodi G, Jansen S and Overeem M Aggregate Architecture Simulation in Event-Sourcing Applications using Layered Queuing Networks Proceedings of the ACM/SPEC International Conference on Performance Engineering, (238-245)
  7. Berardinelli L, Bernardo M, Cortellessa V and Di Marco A (2019). Multidimensional context modeling applied to non-functional analysis of software, Software and Systems Modeling (SoSyM), 18:3, (2137-2176), Online publication date: 1-Jun-2019.
  8. ACM
    Smith C and Lladó C SPE for the Internet of Things and Other Real-Time Embedded Systems Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, (227-232)
  9. ACM
    Bondi A Identifying Derived Performance Requirements of System Components from Explicit Customer- and Application- Facing Performance Requirements Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering, (335-339)
  10. Brosig F, Meier P, Becker S, Koziolek A, Koziolek H and Kounev S (2015). Quantitative Evaluation of Model-Driven Performance Analysis and Simulation of Component-Based Architectures, IEEE Transactions on Software Engineering, 41:2, (157-175), Online publication date: 1-Feb-2015.
  11. Carretero J, Distefano S, Petcu D, Pop D, Rauber T, Runger G and Singh D (2015). Energy-efficient Algorithms for Ultrascale Systems, Supercomputing Frontiers and Innovations: an International Journal, 2:2, (77-104), Online publication date: 6-Apr-2015.
  12. ACM
    Lehrig S and Becker S Software Architecture Design Assistants Need Controlled Efficiency Experiments Proceedings of the 1st International Workshop on Future of Software Architecture Design Assistants, (19-24)
  13. ACM
    Smith C Software Performance Engineering Then and Now Proceedings of the 2015 Workshop on Challenges in Performance Methods for Software Development, (1-3)
  14. ACM
    Woodside M WOSP-C'15 Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, (349-350)
  15. Moreno-Delgado A, Durán F, Zschaler S and Troya J Modular DSLs for Flexible Analysis Proceedings of the 10th European Conference on Modelling Foundations and Applications - Volume 8569, (132-147)
  16. Mirandola R, Potena P, Riccobene E and Scandurra P (2014). A reliability model for Service Component Architectures, Journal of Systems and Software, 89:C, (109-127), Online publication date: 1-Mar-2014.
  17. Singh H, Gračanin D and Matković K Controlling scalability of distributed virtual environment systems Proceedings of the 2014 Winter Simulation Conference, (3540-3551)
  18. ACM
    Gorsler F, Brosig F and Kounev S Performance queries for architecture-level performance models Proceedings of the 5th ACM/SPEC international conference on Performance engineering, (99-110)
  19. ACM
    Martinec T, Marek L, Steinhauser A, Tůma P, Noorshams Q, Rentschler A and Reussner R Constructing performance model of JMS middleware platform Proceedings of the 5th ACM/SPEC international conference on Performance engineering, (123-134)
  20. ACM
    Koziolek H, Becker S, Happe J, Tuma P and de Gooijer T (2014). Towards software performance engineering for multicore and manycore systems, ACM SIGMETRICS Performance Evaluation Review, 41:3, (2-11), Online publication date: 10-Jan-2014.
  21. NäRman P, Holm H, Ekstedt M and Honeth N (2013). Using enterprise architecture analysis and interview data to estimate service response time, The Journal of Strategic Information Systems, 22:1, (70-85), Online publication date: 1-Mar-2013.
  22. ACM
    Mani N, Petriu D and Woodside M Propagation of incremental changes to performance model due to SOA design pattern application Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering, (89-100)
  23. Wilkosz K, Kruczkiewicz Z and Babczyński T Performance evaluation of multiagent-system oriented models for efficient power system topology verification Proceedings of the 4th Asian conference on Intelligent Information and Database Systems - Volume Part I, (11-20)
  24. ACM
    Singh H, Gračanin D and Matković K An approach to tuning distributed virtual environment performance by modifying terrain Proceedings of the International Working Conference on Advanced Visual Interfaces, (628-631)
  25. Wilkosz K and Kruczkiewicz Z Multiagent-system oriented models for efficient power system topology verification Proceedings of the Third international conference on Intelligent information and database systems - Volume Part I, (486-495)
  26. Drago M, Ghezzi C and Mirandola R Towards quality driven exploration of model transformation spaces Proceedings of the 14th international conference on Model driven engineering languages and systems, (2-16)
  27. Arias R and Hirata C Mapping of software model to simulation model for performance requirement verification Proceedings of the 44th Annual Simulation Symposium, (142-150)
  28. ACM
    Perez-Palacin D, Mirandola R and Merseguer J Software architecture adaptability metrics for QoS-based self-adaptation Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS, (171-176)
  29. ACM
    Berardinelli L, Cortellessa V and Pace S Modeling and analyzing performance of software for wireless sensor networks Proceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications, (13-18)
  30. ACM
    Geetha D, Kumar T and Kanth K (2011). Framework for hybrid performance prediction process model, ACM SIGSOFT Software Engineering Notes, 36:3, (1-15), Online publication date: 5-May-2011.
  31. ACM
    Schwarzer S, Peschlow P, Pustina L and Martini P Automatic estimation of performance requirements for software tasks of mobile devices Proceedings of the 2nd ACM/SPEC International Conference on Performance engineering, (347-358)
  32. Zhang P, Elbaum S and Dwyer M Automatic generation of load tests Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, (43-52)
  33. Kapova L and Reussner R Application of advanced model-driven techniques in performance engineering Proceedings of the 7th European performance engineering conference on Computer performance engineering, (17-36)
  34. Wilkosz K, Kruczkiewicz Z, Babczyński T and Penar W Performance evaluation of multiagent systems for power system topology verification Proceedings of the 4th KES international conference on Agent and multi-agent systems: technologies and applications, Part I, (430-439)
  35. Smith C and Lladó C Model interoperability for performance engineering Proceedings of the 2010 IFIP WG 6.3/7.3 international conference on Performance Evaluation of Computer and Communication Systems: milestones and future challenges, (10-23)
  36. Martens A, Ardagna D, Koziolek H, Mirandola R and Reussner R A hybrid approach for multi-attribute qos optimisation in component based software systems Proceedings of the 6th international conference on Quality of Software Architectures: research into Practice - Reality and Gaps, (84-101)
  37. Berardinelli L, Cortellessa V and Di Marco A Performance modeling and analysis of context-aware mobile software systems Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering, (353-367)
  38. ACM
    Huang X, Wang W, Zhang W, Wei J and Huang T An adaptive fine-grained performance modeling approach for internetware Proceedings of the Second Asia-Pacific Symposium on Internetware, (1-4)
  39. Alhaj M and Petriu D Approach for generating performance models from UML models of SOA systems Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research, (268-282)
  40. ACM
    Huber N, Becker S, Rathfelder C, Schweflinghaus J and Reussner R Performance modeling in industry Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, (1-10)
  41. ACM
    Martens A, Koziolek H, Becker S and Reussner R Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering, (105-116)
  42. Wilkosz K, Kruczkiewicz Z and Rojek T Multiagent systems for power system topology verification Proceedings of the 10th international conference on Intelligent data engineering and automated learning, (815-822)
  43. Martens A and Koziolek H (2009). Automatic, Model-Based Software Performance Improvement for Component-based Software Designs, Electronic Notes in Theoretical Computer Science (ENTCS), 253:1, (77-93), Online publication date: 1-Oct-2009.
  44. ACM
    Yasmin N and Sitaraman M Compositional performance prediction exemplified using generic object finalization analysis Proceedings of the 47th Annual Southeast Regional Conference, (1-6)
  45. Epifani I, Ghezzi C, Mirandola R and Tamburrelli G Model evolution by run-time parameter adaptation Proceedings of the 31st International Conference on Software Engineering, (111-121)
  46. Eusgeld I References Dependability metrics, (267-300)
  47. ACM
    Moreno G, Smith C and Williams L Performance analysis of real-time component architectures Proceedings of the 7th international workshop on Software and performance, (115-126)
  48. ACM
    Becker S Coupled model transformations Proceedings of the 7th international workshop on Software and performance, (103-114)
  49. Koziolek H, Becker S and Happe J Predicting the performance of component-based software architectures with different usage profiles Proceedings of the Quality of software architectures 3rd international conference on Software architectures, components, and applications, (145-163)
  50. Smith C Introduction to software performance engineering Proceedings of the 7th international conference on Formal methods for performance evaluation, (395-428)
  51. Koziolek H, Becker S and Happe J Predicting the Performance of Component-Based Software Architectures with Different Usage Profiles Third International Conference on Quality of Software Architectures on Software Architectures, Components, and Applications - Volume 4880, (145-163)
  52. Cortellessa V, Di Marco A and Inverardi P Integrating performance and reliability analysis in a non-functional MDA framework Proceedings of the 10th international conference on Fundamental approaches to software engineering, (57-71)
  53. ACM
    Patel M, Borg A and Sandahl K A case study in assessing and improving capacity using an anatomy of good practice The 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers, (509-512)
  54. ACM
    Patel M, Borg A and Sandahl K A case study in assessing and improving capacity using an anatomy of good practice Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, (509-512)
  55. ACM
    Ho C and Williams L Developing software performance with the performance refinement and evolution model Proceedings of the 6th international workshop on Software and performance, (133-136)
  56. ACM
    Grassi V, Mirandola R and Sabetta A A model-driven approach to performability analysis of dynamically reconfigurable component-based systems Proceedings of the 6th international workshop on Software and performance, (103-114)
  57. ACM
    D'Ambrogio A and Bocciarelli P A model-driven approach to describe and predict the performance of composite services Proceedings of the 6th international workshop on Software and performance, (78-89)
  58. ACM
    Omari T, Derisavi S and Franks G Deriving distribution of thread service time in layered queueing networks Proceedings of the 6th international workshop on Software and performance, (66-77)
  59. ACM
    Becker S, Koziolek H and Reussner R Model-Based performance prediction with the palladio component model Proceedings of the 6th international workshop on Software and performance, (54-65)
  60. Jin Y, Tang A, Han J and Liu Y Performance Evaluation and Prediction for Legacy Information Systems Proceedings of the 29th international conference on Software Engineering, (540-549)
  61. Koziolek H, Happe J and Becker S Parameter dependent performance specifications of software components Proceedings of the Second international conference on Quality of Software Architectures, (163-179)
  62. Di Marco A and Mirandola R Model transformation in software performance engineering Proceedings of the Second international conference on Quality of Software Architectures, (95-110)
  63. Kounev S (2006). Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets, IEEE Transactions on Software Engineering, 32:7, (486-502), Online publication date: 1-Jul-2006.
  64. ACM
    Becker S, Hasselbring W, Paul A, Boskovic M, Koziolek H, Ploski J, Dhama A, Lipskoch H, Rohr M, Winteler D, Giesecke S, Meyer R, Swaminathan M, Happe J, Muhle M and Warns T (2006). Trustworthy software systems, ACM SIGSOFT Software Engineering Notes, 31:6, (1-18), Online publication date: 1-Nov-2006.
  65. ACM
    Cortellessa V, Di Marco A and Inverardi P Software performance model-driven architecture Proceedings of the 2006 ACM symposium on Applied computing, (1218-1223)
  66. ACM
    Yuan X, Duan S and Liu Z Exploring robust component-based software Proceedings of the 2006 international workshop on Software quality, (75-80)
  67. Koziolek H and Firus V Empirical evaluation of model-based performance prediction methods in software development Proceedings of the First international conference on Quality of Software Architectures and Software Quality, and Proceedings of the Second International conference on Software Quality, (188-202)
  68. Happe J Predicting mean service execution times of software components based on markov models Proceedings of the First international conference on Quality of Software Architectures and Software Quality, and Proceedings of the Second International conference on Software Quality, (53-70)
  69. Bondarev E, de With P, Chaudron M and Muskens J Modelling of Input-Parameter Dependency for Performance Predictions of Component-Based Embedded Systems Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, (36-43)
  70. Firus V, Becker S and Happe J (2005). Parametric Performance Contracts for QML-specified Software Components, Electronic Notes in Theoretical Computer Science (ENTCS), 141:3, (73-90), Online publication date: 1-Dec-2005.
  71. Grassi V Performance analysis of mobile systems Proceedings of the 5th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: mobile computing, (107-154)
  72. Purhonen A Performance evaluation approaches for software architects Component-Based Software Development for Embedded Systems, (275-295)
  73. ACM
    Parsons T A framework for detecting performance design and deployment antipatterns in component based enterprise systems Proceedings of the 2nd international doctoral symposium on Middleware, (1-5)
  74. ACM
    Lera I, Juiz C, Puigjaner R, Kurz C, Haring G and Zottl J Performance assessment on ambient intelligent applications through ontologies Proceedings of the 5th international workshop on Software and performance, (205-216)
  75. ACM
    Cortellessa V How far are we from the definition of a common software performance ontology? Proceedings of the 5th international workshop on Software and performance, (195-204)
  76. ACM
    Smith C, Lladó C, Cortellessa V, Marco A and Williams L From UML models to software performance results Proceedings of the 5th international workshop on Software and performance, (87-98)
  77. ACM
    Grassi V, Mirandola R and Sabetta A From design to analysis models Proceedings of the 5th international workshop on Software and performance, (25-36)
  78. ACM
    Cleland-Huang J, Settimi R, BenKhadra O, Berezhanskaya E and Christina S Goal-centric traceability for managing non-functional requirements Proceedings of the 27th international conference on Software engineering, (362-371)
  79. Cortellessa V, Goseva-Popstojanova K, Appukkutty K, Guedem A, Hassan A, Elnaggar R, Abdelmoez W and Ammar H (2005). Model-Based Performance Risk Analysis, IEEE Transactions on Software Engineering, 31:1, (3-20), Online publication date: 1-Jan-2005.
  80. D'Ambrogio A and Iazeolla G (2005). Metadata-driven design of integrated environments for software performance validation, Journal of Systems and Software, 76:2, (127-146), Online publication date: 1-May-2005.
  81. Becker S, Grunske L, Mirandola R and Overhage S Performance prediction of component-based systems Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components, (169-192)
  82. ACM
    Canevet C, Gilmore S, Hillston J, Kloul L and Stevens P Analysing UML 2.0 activity diagrams in the software performance engineering process Proceedings of the 4th international workshop on Software and performance, (74-78)
  83. ACM
    Canevet C, Gilmore S, Hillston J, Kloul L and Stevens P (2004). Analysing UML 2.0 activity diagrams in the software performance engineering process, ACM SIGSOFT Software Engineering Notes, 29:1, (74-78), Online publication date: 1-Jan-2004.
  84. ACM
    Parsons T A framework for detecting, assessing and visualizing performance antipatterns in component based systems Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, (316-317)
  85. ACM
    Raghavan G, Salomaki A and Lencevicius R Model based estimation and verification of mobile device performance Proceedings of the 4th ACM international conference on Embedded software, (34-43)
  86. Balsamo S, Di Marco A, Inverardi P and Simeoni M (2004). Model-Based Performance Prediction in Software Development, IEEE Transactions on Software Engineering, 30:5, (295-310), Online publication date: 1-May-2004.
  87. Gu G and Petriu D Early evaluation of software performance based on the UML performance profile Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research, (66-79)
  88. Smith C and Williams L Software performance engineering UML for real, (343-365)
  89. ACM
    Balsamo S and Marzolla M (2003). A simulation-based approach to software performance modeling, ACM SIGSOFT Software Engineering Notes, 28:5, (363-366), Online publication date: 1-Sep-2003.
  90. ACM
    Balsamo S and Marzolla M A simulation-based approach to software performance modeling Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, (363-366)
  91. Cleland-Huang J, Chang C and Wise J (2003). Automating performance-related impact analysis through event based traceability, Requirements Engineering, 8:3, (171-182), Online publication date: 1-Aug-2003.
  92. ACM
    Williams L and Smith C PASASM Proceedings of the 3rd international workshop on Software and performance, (179-189)

Index Terms

  1. Performance solutions: a practical guide to creating responsive, scalable software

      Recommendations

      Mordechai Ben-Menachem

      This book arrived for review on my birthday, which I found rather nice. Then I saw “UML” on the cover; this, and the overall size of the book (over 500 pages) led me to open it with some trepidation. Since I have never considered Unified Modeling Language (UML) “the bee’s knees” or viewed object-oriented (OO) techniques as the ultimate in engineering, I was suddenly less excited. Fortunately, I was in for a very pleasant surprise. The book is quite well written and is even enjoyable. Even the subtitle is correct: it is practical, it is a guide, and it really shows how to get the job done with reasonable effort and within an acceptable skill-level. However, any book has two “parents”: the author (in this case, two authors) and the publisher. The authors did a first-rate job, but the publisher seems to have done a slightly rushed job, where quality was not a prime concern. Considering the quality of authorship, this is a pity. The book uses a relatively new and refreshing way of looking at performance to describe how to do a job well, and do it right the first time. The authors have a remarkable habit of stating things that made me exclaim, “why didn’t I ever think of it!” In the first 22 pages, I found several statements warranting improvements in the way software design is taught. If the authors are not careful, they may actually make software less expensive to create. On the other hand, I also found three typographical errors that good editing should have corrected. After that, I stopped counting them, but there are more there. Really skilled editing would also have reduced the volume to a more comfortable size. The authors describe a methodology for understanding, estimating, designing, and planning performance as an integral part of the system solution. They make their case in an excellent step-by-step style that is easily to follow. They even went to the trouble—missing in too many books—of showing the reading steps for different reader types (for example, what sections a programmer should read as opposed to a manager). This was very helpful and much appreciated. The authors also cover how to use their process for different types of systems: graphical user interface (GUI) systems, embedded and Web applications, and so on. Patterns (how to do things right) and anti-patterns (how things are usually done wrong) are both given so that the user can plunge into the concepts at whatever depth is most suitable. The book is well illustrated, and the margins are well used, showing pointers and comments to help the reader find what is needed quickly. An example in point is the section on improving scalability (12.3.2). This is certainly a substantial issue in most development today, but methods are quite rare. All of the important issues seem to be covered here. One not only finds out how to improve scalability, but one gets enough background, well balanced with references, to delve into it more deeply, if that becomes necessary. While this is not designed as a textbook, it appears to be well suited as such. I hope the publisher produces a second edition with a little more care with regard to typographical errors. It will be the classic in the field. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.