Performance Analysis and Problem Determination in SOA Environments

  • Vijay Mann
  • Venkateswara R. Madduri
  • Srividya Shamaiah
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7221)


SOA environments are typically characterized by large number of frameworks. These frameworks stack over each other in the runtime infrastructure and result in deep stack depths and large number of objects being created, most of which, are short lived. Consequently, problem determination and performance tuning of such runtime environments is known to be an extremely difficult task, which requires experience and expertise. In this paper, we share our experiences working with such production SOA runtime environments. Through our experiences we try to find the answer to the following question: can problem determination and performance analysis itself be offered as a service in SOA environments? We note that, in practice Java language and the associated J2EE stack remains one of the most popular runtime environment for implementing SOA. Since Java provides structured runtime logs, we seek to find patterns in those logs that can be used to automate performance analysis and problem determination in SOA environments. We describe three performance problem case studies, each of which present unique performance problems in open source benchmark and production SOA applications. All the case studies highlight the complexity associated with automated performance analysis. However, we make the case that at least part of the performance analysis process can be automated and offered as a service.


problem determination root cause analysis performance tuning garbage collection tuning service performance tuning 


  1. 1.
    Heap fragmentation with IBM 1.3.1 and 1.4.2 JVMs,
  2. 2.
  3. 3.
  4. 4.
    JDBC 4.0 API Specification Final Release - JSR-000221,
  5. 5.
    Mash that trash – Incremental compaction in the IBM JDK Garbage Collector,
  6. 6.
  7. 7.
    RUBiS Homepage,
  8. 8.
    Agarwal, M.K., Sachindran, N., Gupta, M., Mann, V.: Fast Extraction of Adaptive Change Point Based Patterns for Problem Resolution in Enterprise Systems. In: State, R., van der Meer, S., O’Sullivan, D., Pfeifer, T. (eds.) DSOM 2006. LNCS, vol. 4269, pp. 161–172. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Cecchet, E., Marguerite, J., Zwaenepoel, W.: Performance and Scalability of EJB Applications. In: ACM OOPSLA (November 2002)Google Scholar
  10. 10.
    Chis, A.E., Mitchell, N., Schonberg, E., Sevitsky, G., O’Sullivan, P., Parsons, T., Murphy, J.: Patterns of Memory Inefficiency. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 383–407. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Jump, M., McKinley, K.: Cork: dynamic memory leak detection for garbage-collected languages. In: Symposium on Principles of Programming Languages, POPL (2007)Google Scholar
  12. 12.
    Mann, V., Agarwal, M.K., Gupta, M., Sachindran, N.: Problem Determination in Enterprise Middleware Systems Using Change Point Correlation of Time Series Data. In: IEEE/IFIP NOMS (2006)Google Scholar
  13. 13.
    Mitchell, N., Sevitsky, G.: Leakbot: An Automated and Lightweight Tool for Diagnosing Memory Leaks in Large Java Applications. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 351–377. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Xu, G., Rountev, A.: Precise memory leak detection for java software using container profiling. In: ACM International Conference on Software Engineering, ICSE (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Vijay Mann
    • 1
  • Venkateswara R. Madduri
    • 1
  • Srividya Shamaiah
    • 2
  1. 1.IBM ResearchIndia
  2. 2.IBM India Software LabsJava Technology Center (JTC)India

Personalised recommendations