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
- 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)
- 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.
- 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)
- Smith C Software Performance Engineering Education Companion of the ACM/SPEC International Conference on Performance Engineering, (131-132)
- Smith C Software Performance Antipatterns in Cyber-Physical Systems Proceedings of the ACM/SPEC International Conference on Performance Engineering, (173-180)
- 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)
- 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.
- 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)
- 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)
- 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.
- 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.
- 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)
- Smith C Software Performance Engineering Then and Now Proceedings of the 2015 Workshop on Challenges in Performance Methods for Software Development, (1-3)
- Woodside M WOSP-C'15 Proceedings of the 6th ACM/SPEC International Conference on Performance Engineering, (349-350)
- 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)
- 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.
- Singh H, Gračanin D and Matković K Controlling scalability of distributed virtual environment systems Proceedings of the 2014 Winter Simulation Conference, (3540-3551)
- 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)
- 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)
- 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.
- 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.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- Yasmin N and Sitaraman M Compositional performance prediction exemplified using generic object finalization analysis Proceedings of the 47th Annual Southeast Regional Conference, (1-6)
- 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)
- Eusgeld I References Dependability metrics, (267-300)
- 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)
- Becker S Coupled model transformations Proceedings of the 7th international workshop on Software and performance, (103-114)
- 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)
- Smith C Introduction to software performance engineering Proceedings of the 7th international conference on Formal methods for performance evaluation, (395-428)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- 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.
- Cortellessa V, Di Marco A and Inverardi P Software performance model-driven architecture Proceedings of the 2006 ACM symposium on Applied computing, (1218-1223)
- Yuan X, Duan S and Liu Z Exploring robust component-based software Proceedings of the 2006 international workshop on Software quality, (75-80)
- 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)
- 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)
- 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)
- 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.
- 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)
- Purhonen A Performance evaluation approaches for software architects Component-Based Software Development for Embedded Systems, (275-295)
- 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)
- 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)
- 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)
- 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)
- Grassi V, Mirandola R and Sabetta A From design to analysis models Proceedings of the 5th international workshop on Software and performance, (25-36)
- 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)
- 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.
- 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.
- 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)
- 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)
- 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.
- 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)
- 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)
- 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.
- 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)
- Smith C and Williams L Software performance engineering UML for real, (343-365)
- 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.
- 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)
- 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.
- Williams L and Smith C PASASM Proceedings of the 3rd international workshop on Software and performance, (179-189)
Index Terms
- Performance solutions: a practical guide to creating responsive, scalable software
Recommendations
Developing software performance with the performance refinement and evolution model
WOSP '07: Proceedings of the 6th international workshop on Software and performancePerformance is an important attribute of a software system. To develop a software system of acceptable performance, the team needs to specify precise performance requirements, design appropriate test cases, and use suitable techniques to analyze the ...
Performance engineering for software architectures
COMPSAC '97: Proceedings of the 21st International Computer Software and Applications ConferenceSoftware Performance Engineering (SPE) is a method for constructing software systems that meet performance goals. SPE includes techniques for gathering data, coping with uncertainty, constructing and evaluating performance models, evaluating ...