Automatic Performance Model Generation for Java Enterprise Edition (EE) Applications

  • Andreas Brunnert
  • Christian Vögele
  • Helmut Krcmar
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8168)

Abstract

The effort required to create performance models for enterprise applications is often out of proportion compared to their benefits. This work aims to reduce this effort by introducing an approach to automatically generate component-based performance models for running Java EE applications. The approach is applicable for all Java EE server products as it relies on standardized component types and interfaces to gather the required data for modeling an application. The feasibility of the approach and the accuracy of the generated performance models are evaluated in a case study using a SPECjEnterprise2010 industry standard benchmark deployment. Simulations based on a generated performance model of this reference deployment show a prediction error of 1 to 20 % for response time and of less than 10 % for CPU utilization and throughput.

Keywords

Performance Evaluation Performance Modeling Palladio Component Model Java Enterprise Edition Enterprise Applications 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: A survey. IEEE Transactions on Software Engineering 30(5), 295–310 (2004)CrossRefGoogle Scholar
  2. 2.
    Woodside, M., Franks, G., Petriu, D.C.: The future of software performance engineering. In: Future of Software Engineering (FOSE), pp. 171–187 (2007)Google Scholar
  3. 3.
    Smith, C.U.: Introduction to software performance engineering: Origins and outstanding problems. In: Bernardo, M., Hillston, J. (eds.) SFM 2007. LNCS, vol. 4486, pp. 395–428. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Koziolek, H.: Performance evaluation of component-based software systems: A survey. Performance Evaluation 67(8), 634–658 (2010)CrossRefGoogle Scholar
  5. 5.
    Mayer, M., Gradl, S., Schreiber, V., Wittges, H., Krcmar, H.: A survey on performance modelling and simulation of sap enterprise resource planning systems. In: The 10th International Conference on Modeling and Applied Simulation, pp. 347–352. Diptem Universitá di Genoa (2011)Google Scholar
  6. 6.
    Kounev, S.: Performance Engineering of Distributed Component-Based Systems - Benchmarking, Modeling and Performance Prediction. Shaker Verlag. Ph.D. Thesis, Technische Universität Darmstadt, Germany, Aachen, Germany (2005)Google Scholar
  7. 7.
    Wu, X., Woodside, M.: Performance modeling from software components. SIGSOFT Softw. Eng. Notes 29(1), 290–301 (2004)CrossRefGoogle Scholar
  8. 8.
    Reussner, R., Becker, S., Happe, J., Koziolek, H., Krogmann, K., Kuperberg, M.: The Palladio component model. Universität Karlsruhe (2007)Google Scholar
  9. 9.
    Shannon, B.: Java platform, enterprise edition (java ee) specification, v5 (2006)Google Scholar
  10. 10.
    Kuperberg, M.: Quantifying and Predicting the Influence of Execution Platform on Software Component Performance. The Karlsruhe Series on Software Design and Quality. KIT Scientific Publishing, Karlsruhe (2011)Google Scholar
  11. 11.
    DeMichiel, L., Keith, M.: Jsr 220: Enterprise javabeans, version 3.0 - ejb 3.0 simplified api (2006)Google Scholar
  12. 12.
    Krogmann, K.: Reconstruction of Software Component Architectures and Behaviour Models using Static and Dynamic Analysis. The Karlsruhe Series on Software Design and Quality. KIT Scientific Publishing, Karlsruhe (2010)Google Scholar
  13. 13.
    SPEC: Specjenterprise2010 (2012), http://www.spec.org/jEnterprise2010/ (accessed at April 07, 2012)
  14. 14.
    Faban: Faban harness and benchmark framework (2012), http://java.net/projects/faban/ (accessed at September 17, 2012)
  15. 15.
    Becker, S.: Coupled Model Transformations for QoS Enabled Component-Based Software Design. Karlsruhe Series on Software Quality. Universitätsverlag Karlsruhe (2008)Google Scholar
  16. 16.
    Kounev, S., Buchmann, A.: Performance modeling and evaluation of large-scale j2ee applications. In: Proceedings of the 29th International Conference of the Computer Measurement Group on Resource Management and Performance Evaluation of Enterprise Computing Systems (CMG), Dallas, Texas, USA, pp. 273–283 (2003)Google Scholar
  17. 17.
    SPEC: Spec jappserver development page (2002), http://www.spec.org/osg/jAppServer/ (accessed at September 02, 2012)
  18. 18.
    Kounev, S.: Performance modeling and evaluation of distributed component-based systems using queueing petri nets. IEEE Transactions on Software Engineering 32(7), 486–502 (2006)CrossRefGoogle Scholar
  19. 19.
    Bause, F.: ‘qn + pn= qpn’ - combining queueing networks and petri nets. Technical report, Dept. of Computer Science, University of Dortmund (1993)Google Scholar
  20. 20.
    Brosig, F., Huber, N., Kounev, S.: Automated extraction of architecture-level performance models of distributed component-based systems. In: 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 183–192 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Andreas Brunnert
    • 1
  • Christian Vögele
    • 1
  • Helmut Krcmar
    • 2
  1. 1.Fortiss GmbHMünchenGermany
  2. 2.Technische Universität MünchenGarchingGermany

Personalised recommendations