SlideShare a Scribd company logo
1 of 40
Download to read offline
Performance Testing
A Performance Triage Solution


               Mohammed Ibrahim
Partners Testing Products
Pre-Sales, Sales, & Post Sales Support
Requirement Management Solution   Development and Debugging Tools
     Optimal Trace                     DevPartner Studio
     Raven Flow                        DevPartner Java
                                        Bounds checker
Functional Testing Tools                Security checker
      TestPartner
      QA Director
      Silk Test                  IT Service Management Products
                                         Vantage
Performance Testing Tools                Vantage for Network Performance
      QALoad                            Vantage for Java/.NET Performance
      Web Load                          Vantage for Server Performance
      Silk Performer




                                                                              2
IonIdea -Testing Services Offerings


   Ion - Virtual Testing Team
   Functional Testing Automation Services
   Performance Testing Services
   Software Testing Automation Consulting
   Scripted Functional Testing Services
   Software Testing outsourced
   Training – Test Automation




                                             3
Delivering High Performing Applications
What’s Needed: Load Testing with Infrastructure Monitoring


Virtual Users                                                                    DBMS
                Web Servers           Application Servers




                                                                               Mainframe




                Combining load testing with infrastructure monitoring:
                  • Provides realistic emulation of transaction and traffic usage patterns to:
                              • Ensure servers will scale to meet current and future
                                needs
                              • Correlate important performance relationships
                                between all components of the application
                                                                                                 4
                                infrastructure
Delivering High Performing Applications
What’s Needed: End-to-End Analysis of All Application Components


  Virtual Users
                                                                                                      DBMS
                             Web Servers                           Application Servers


                                                                        Method           JDBC-ODBC

                                   Method
                                                                                  Method             Mainframe

                                            Method   Web Service        Method
   URL             JSP-ASP

                             Method         Method   Web Service        Method              MQ

                   JSP-ASP




                  End-to-end performance analysis:
                    • Provides the depth of analysis necessary to pinpoint performance
                      problems

                                                                                                                 5
Traditional Performance Testing Approach

   Expected…




   Actual…




                                           6
Why Load Testing is Not Enough


     NOT ENOUGH INFORMATION                         RESULT…
   • Only delivers general response             •   Missed delivery dates
     time, throughput or server metrics         •   Poor-quality applications
   • Does not identify where bottlenecks are,   •   High-end resources
     across environment or inside application       involved in resolving
   • Doesn’t get to the root cause of the           problems and waiting until
     problem                                        the end of testing
   • Leads to finger-pointing                   •   Costly/unnecessary
                                                    infrastructure changes
     NOT TIMELY                                     to fix problems
   • You have to wait until after
     load testing to understand
     whether you have a problem




                                                                                 7
What Sets Performance Triage apart?


      PREDICTION:                      TROUBLESHOOTING:
  •   Predict performance          •   Deeper analysis during
      under varying conditions         load test
  •   Identify impact of network   •   Pinpoint Java and .NET
      on application from              performance problems
      multiple locations           •   Perform fewer
  •   Pinpoint bottlenecks             application retests
      across application tiers
  •   Fix code prior to
      conducting load testing




                                                                8
Performance Triage (PT)


   Load Testing only…




   PT Prediction & Troubleshooting…




                                      9
Performance Triage – Two mixes



   Re-active
    Leverage profiling to deal with performance issues before
     load testing
    Helps to make best use of limited testing timeframes


   Pro-active
    Well structured approach to performance testing to prevent
     the ‘hair on fire’ scenarios



                                                                  10
Performance Triage in Action




      Case Study - Online Banking




                                    11
PT in Action - Case Study
Introduction


     Setting the scene
      • Online banking arm of large corporate finance house
      • Urgent requirement to validate existing infrastructure capacity
         and to investigate capacity to handle further growth
      • Limited time to execute




                                                                     12
PT in Action - Case Study
Performance Goals


    •   Response Time SLA
            •   Login / Signon less than 10 seconds
            •   All other page response times less than 8 seconds
            •   All transaction response times less than 20 seconds
            •   Based on broadband bandwidth

    •   Concurrency SLA
            • Support 600 concurrent end users


    •   Server Utilization SLA
            • Server utilization < 50% measured as CPU, Memory and Disk I/O




                                                                              13
PT in Action – Case Study
Load testing alone won’t identify hidden problems

                                                 Bank Data Centre
   External Users

                                                       Web Servers


                            WAN                     Insufficient Capacity
                            Sensitivity


                                                        App Servers

                                                        Slow Methods
    Internal Users


                                                         DB Servers


                                          Contention Issues           Bad SQL




                                                                                14
PT in Action - Case Study
Identify and profile key transactions
     • Enrollment             WAN
                              Sensitivity    Bad SQL
     • Signon
     • View account summary
     • View account details
     • Intra FI transfer
     • View check images                    Profile


                                                       15
PT in Action – Case Study
Profile – Predicting WAN sensitivity

  Increase in response time of 11 seconds when
  connecting over T1 link with 50ms latency




                                                 16
PT in Action – Case Study
Profile – Bad SQL performance


    SQL call taking in excess of 13 seconds
    to complete




                                              17
PT in Action – Case Study
Profiling identifies hidden problems

                                               Bank Data Centre
   External Users

                                                      Web Servers

                                                    Insufficient Capacity
                        WAN Sensitivity


                                                       App Servers


    Internal Users                                    Slow Methods




                                                       DB Servers


                                          Contention Issues
                                                                     Bad SQL




                                                                               18
PT in Action – Case Study
Load Testing
                                                                    Insufficient Capacity


Performance goals
                                                                    Contention Issues
    •   Login / Signon less than 10 seconds
    •   All other page response times less than 8 seconds
    •   All transaction response times less than 20 seconds         Slow Methods
    •   Support 600 concurrent end users
    •   Server utilization < 50% measured as CPU, Memory and Disk I/O

                                                              Load Test



                                                                                            19
PT in Action – Case Study
Load Testing – Transaction performance                                     FAIL!!
                                                                         Response Time

  Transaction performance exceeds response time SLA



                                                      Concurrent users
      Concurrent SLA: 600 users




                                                        Response time SLA: < 20 seconds




                                                               Elapsed time
                         Transaction response time




                                                                                          20
PT in Action – Case Study
Load Testing – Server performance                         FAIL!!
                                                    Insufficient Capacity

  Web server CPU utilization breaches SLA




                                                       Concurrent users
         Concurrent SLA: 600 users




                                            Server CPU SLA: < 50 %



         Web server CPU %




                                                  Elapsed time




                                                                            21
PT in Action – Case Study
Load Testing – Application server                   FAIL!!
                                                  Slow Method
     Analysis inside the JVM and CLR




                                       Slow performing method
                                       impacting response time
                                       and web server CPU




                                                                 22
PT in Action – Case Study
Load Testing – Application server                     FAIL!!
                                                    Memory Leak

     Analysis inside the JVM and CLR




                                       Memory not being
                                       released




                                                                  23
PT in Action – Case Study
Load Testing – Transaction performance                                         SUCCESS!!

  Transaction performance remains below response time SLA



                                                            Concurrent users
       Concurrent SLA: 600 users




                                                              Response time SLA: < 20 seconds




                                                                     Elapsed time
                          Transaction response time




                                                                                                24
PT in Action – Case Study
Load Testing – Server performance                           SUCCESS!!

  Web server CPU utilization remains below SLA




                                                            Concurrent users
         Concurrent SLA: 600 users




                                                 Server CPU SLA: < 50 %



         Web server CPU %




                                                       Elapsed time




                                                                               25
PT in Action – Case Study
Profiling + Load Testing = All problems identified

                                                Bank Data Centre
   External Users

                                                       Web Servers

                                                    Insufficient Capacity
                        WAN Sensitivity


                                                        App Servers


    Internal Users                                    Slow Methods




                                                        DB Servers


                                          Contention Issues
                                                                      Bad SQL




                                                                                26
PT in Action – Case Study
Deliverables


   • Response Time SLA                                        PASS!!
        • Login / Signon less than 10 seconds
        • All other page response times less than 8 seconds
        • All transaction response times less than 20 seconds
        • Based on broadband bandwidth


   • Concurrency SLA
                                                              PASS!!
        • Support 600 concurrent end users

   • Server Utilization SLA
        • Server utilization < 50% measured as CPU, Memory and Disk I/O


                                                              PASS!!


                                                                          27
PT – ‘Pro-active’ remix




             PT – Becoming pro-active
             Avoiding the ‘Hair on Fire’ scenario




                                                    28
PT ‘Pro-active remix’ – Mission Statement




• Performance considerations should be factored
   into the application lifecycle at the earliest
   opportunity




                                                    29
PT – ‘Pro-active’ remix
PT Process



                   Requirements capture




                                          30
PT ‘Pro-active remix’ – Requirements capture
Performance goals


   • Response Time SLA
           •   Login / Signon less than 10 seconds
           •   All other page response times less than 8 seconds
           •   Transaction response time less than 20 seconds
           •   Based on broadband bandwidth

   • Application Concurrency SLA
           • 600 concurrent end users
           • Server Resource Utilization SLA
           • Less than 50% measured as CPU, Memory, Network Utilization and Disk I/O




                                                                                       31
PT ‘Pro-active remix’ – Requirements capture
Test environment
  Compare production to test system and identify
  differences




                                                   32
PT ‘Pro-active remix’ – Requirements capture
Identify key transactions

     • Enrollment
     • Signon
     • View account summary
     • View account details
     • Intra FI transfer
     • View check images
     • Copy check
     • Bill Payment Transaction
     • Check reorder



                                               33
PT ‘Pro-active remix’ – Requirements capture
Transaction detail + Data


    View Account Summary

    • Home Page <- Target URL
    • Logon Page <- Login credentials
    • Verification Page
    • Challenge Page
    • Retrieving default account summary
    • Retrieving maximum amount of account history (90 days max)
    • Logoff




                                                                   34
PT ‘Pro-active remix’ – Requirements capture
Identify data requirements


   • A minimum of 100 sets of unique end user login credentials
   • Test database to be a recent cut of live database
   • Each consumer banking logon account should contain:
    •   2-3 different accounts. (If multiple hosts are accessed during a logon,
        additional considerations may be warranted).
    •   Several items of history in one of the accounts – generally a direct
        draw/checking account. Best results are obtained when this transaction
        history contains 20 or more items per month distributed over 90 days.




                                                                                  35
PT ‘Pro-active remix’ – Requirements capture
Virtual user allocation
    Allocation of virtual users to transactions




                                                  36
PT ‘Pro-active remix’ – Requirements capture
Summary


    Critical requirements identified
     Performance goals ( SLA’s )
     Validation of performance test environment
     Data requirements identified
     Key transactions identified
     Virtual user allocation




                                                   37
PT ‘Pro-active remix’ - Profile
PT Process


                                  Profile




                                            38
PT – ‘Pro-active remix’ – Load Test
PT Process



                                  Load Test




                                              39
Contact

IonIdea
38 – 40 EPIP White Field
Bangalore - 560066


Mohammed Ibrahim, Manager – Testing Practice
Works - +91-80-66581577
Mobile - +91-9986650636
Cell(US)- (703) 268-2920
E-mail: mohammed.ibrahim@ionidea.com
www.ionidea.com


                           © 2008 Compuware Corporation — All Rights Reserved

More Related Content

What's hot

Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka Yashantha
 
Deconstructing Monoliths with Domain Driven Design
Deconstructing Monoliths with Domain Driven DesignDeconstructing Monoliths with Domain Driven Design
Deconstructing Monoliths with Domain Driven DesignVMware Tanzu
 
IBM App Connect - Let Your Apps Work For You
IBM App Connect - Let Your Apps Work For YouIBM App Connect - Let Your Apps Work For You
IBM App Connect - Let Your Apps Work For YouIBM Integration
 
How to Implement Architecture to Support Omnichannel Services
How to Implement Architecture to Support Omnichannel ServicesHow to Implement Architecture to Support Omnichannel Services
How to Implement Architecture to Support Omnichannel ServicesOpenbravo
 
Test data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTTest data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTrenardv74
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing toolsQACraft
 
Managed Test Services - Maveric Systems
Managed Test Services - Maveric SystemsManaged Test Services - Maveric Systems
Managed Test Services - Maveric SystemsMaveric Systems
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview Edgar Silva
 
SQL Server Reporting Services (SSRS) 101
 SQL Server Reporting Services (SSRS) 101 SQL Server Reporting Services (SSRS) 101
SQL Server Reporting Services (SSRS) 101Sparkhound Inc.
 
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr Exp
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr ExpMubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr Exp
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr ExpMubashir Ahmed
 
S4H_399 2 SL _Onboarding Presentation (2).pptx
S4H_399 2  SL _Onboarding Presentation (2).pptxS4H_399 2  SL _Onboarding Presentation (2).pptx
S4H_399 2 SL _Onboarding Presentation (2).pptxchandramohan431817
 
OutSystems Lessons: Center of Excellence and Adoption Strategies
OutSystems Lessons: Center of Excellence and Adoption StrategiesOutSystems Lessons: Center of Excellence and Adoption Strategies
OutSystems Lessons: Center of Excellence and Adoption StrategiesOutSystems
 
Concepts of cutover planning and management
Concepts of cutover planning and managementConcepts of cutover planning and management
Concepts of cutover planning and managementSanjay Choubey
 
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Mikalai Alimenkou
 

What's hot (20)

Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
Software Performance Engineering Services
Software Performance Engineering ServicesSoftware Performance Engineering Services
Software Performance Engineering Services
 
Deconstructing Monoliths with Domain Driven Design
Deconstructing Monoliths with Domain Driven DesignDeconstructing Monoliths with Domain Driven Design
Deconstructing Monoliths with Domain Driven Design
 
API Gateway report
API Gateway reportAPI Gateway report
API Gateway report
 
Testing Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabsTesting Centre Of Excellence From AppLabs
Testing Centre Of Excellence From AppLabs
 
IBM App Connect - Let Your Apps Work For You
IBM App Connect - Let Your Apps Work For YouIBM App Connect - Let Your Apps Work For You
IBM App Connect - Let Your Apps Work For You
 
How to Implement Architecture to Support Omnichannel Services
How to Implement Architecture to Support Omnichannel ServicesHow to Implement Architecture to Support Omnichannel Services
How to Implement Architecture to Support Omnichannel Services
 
Test data management a case study Presented at SiGIST
Test data management a case study Presented at SiGISTTest data management a case study Presented at SiGIST
Test data management a case study Presented at SiGIST
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
JMeter
JMeterJMeter
JMeter
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
Managed Test Services - Maveric Systems
Managed Test Services - Maveric SystemsManaged Test Services - Maveric Systems
Managed Test Services - Maveric Systems
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview
 
SQL Server Reporting Services (SSRS) 101
 SQL Server Reporting Services (SSRS) 101 SQL Server Reporting Services (SSRS) 101
SQL Server Reporting Services (SSRS) 101
 
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr Exp
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr ExpMubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr Exp
Mubashir Ahmed ERP SAP Basis Consultant Resume with 3 Yr Exp
 
S4H_399 2 SL _Onboarding Presentation (2).pptx
S4H_399 2  SL _Onboarding Presentation (2).pptxS4H_399 2  SL _Onboarding Presentation (2).pptx
S4H_399 2 SL _Onboarding Presentation (2).pptx
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
 
OutSystems Lessons: Center of Excellence and Adoption Strategies
OutSystems Lessons: Center of Excellence and Adoption StrategiesOutSystems Lessons: Center of Excellence and Adoption Strategies
OutSystems Lessons: Center of Excellence and Adoption Strategies
 
Concepts of cutover planning and management
Concepts of cutover planning and managementConcepts of cutover planning and management
Concepts of cutover planning and management
 
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]
 

Viewers also liked

Performance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyPerformance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyOptimus Information Inc.
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Atul Pant
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answersGaruda Trainings
 

Viewers also liked (6)

Analyzing Performance Test Data
Analyzing Performance Test DataAnalyzing Performance Test Data
Analyzing Performance Test Data
 
Performance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyPerformance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case Study
 
How to start performance testing project
How to start performance testing projectHow to start performance testing project
How to start performance testing project
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 

Similar to Performance Engineering Case Study V1.0

Bottlenecks exposed web app db servers
Bottlenecks exposed web app db serversBottlenecks exposed web app db servers
Bottlenecks exposed web app db serversUpender Dravidum
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnosticsxKinAnx
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Imaginea Service Sheet - Performance Engineering
Imaginea Service Sheet - Performance EngineeringImaginea Service Sheet - Performance Engineering
Imaginea Service Sheet - Performance EngineeringImaginea
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecentFuture Simmons
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)blahap
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructurezslmarketing
 
Aakash shah performance tester
Aakash shah  performance testerAakash shah  performance tester
Aakash shah performance testeranandkayalmatrix
 
Applying Novell Identity Manager to Your Everyday Problems
Applying Novell Identity Manager to Your Everyday ProblemsApplying Novell Identity Manager to Your Everyday Problems
Applying Novell Identity Manager to Your Everyday ProblemsNovell
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 
Citrix Netscaler Intro
Citrix Netscaler IntroCitrix Netscaler Intro
Citrix Netscaler IntroRui Lopes
 
Performance testing in agile
Performance testing in agilePerformance testing in agile
Performance testing in agileOdessaQA
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012SOASTA
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingAnu Shaji
 
Oracle Application Management Suite
Oracle Application Management SuiteOracle Application Management Suite
Oracle Application Management SuiteOracleVolutionSeries
 

Similar to Performance Engineering Case Study V1.0 (20)

Bottlenecks exposed web app db servers
Bottlenecks exposed web app db serversBottlenecks exposed web app db servers
Bottlenecks exposed web app db servers
 
Presentation application server diagnostics
Presentation   application server diagnosticsPresentation   application server diagnostics
Presentation application server diagnostics
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Imaginea Service Sheet - Performance Engineering
Imaginea Service Sheet - Performance EngineeringImaginea Service Sheet - Performance Engineering
Imaginea Service Sheet - Performance Engineering
 
Performance testslideshowrecent
Performance testslideshowrecentPerformance testslideshowrecent
Performance testslideshowrecent
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)Intro in JavaEE world (TU Olomouc)
Intro in JavaEE world (TU Olomouc)
 
Db trends final
Db trends   finalDb trends   final
Db trends final
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 
Aakash shah performance tester
Aakash shah  performance testerAakash shah  performance tester
Aakash shah performance tester
 
Applying Novell Identity Manager to Your Everyday Problems
Applying Novell Identity Manager to Your Everyday ProblemsApplying Novell Identity Manager to Your Everyday Problems
Applying Novell Identity Manager to Your Everyday Problems
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
Citrix Netscaler Intro
Citrix Netscaler IntroCitrix Netscaler Intro
Citrix Netscaler Intro
 
Performance testing in agile
Performance testing in agilePerformance testing in agile
Performance testing in agile
 
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
App Dynamics & SOASTA Testing & Monitoring Converge, March 2012
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Oracle Application Management Suite
Oracle Application Management SuiteOracle Application Management Suite
Oracle Application Management Suite
 

Performance Engineering Case Study V1.0

  • 1. Performance Testing A Performance Triage Solution Mohammed Ibrahim
  • 2. Partners Testing Products Pre-Sales, Sales, & Post Sales Support Requirement Management Solution Development and Debugging Tools  Optimal Trace  DevPartner Studio  Raven Flow  DevPartner Java  Bounds checker Functional Testing Tools  Security checker  TestPartner  QA Director  Silk Test IT Service Management Products  Vantage Performance Testing Tools  Vantage for Network Performance  QALoad  Vantage for Java/.NET Performance  Web Load  Vantage for Server Performance  Silk Performer 2
  • 3. IonIdea -Testing Services Offerings  Ion - Virtual Testing Team  Functional Testing Automation Services  Performance Testing Services  Software Testing Automation Consulting  Scripted Functional Testing Services  Software Testing outsourced  Training – Test Automation 3
  • 4. Delivering High Performing Applications What’s Needed: Load Testing with Infrastructure Monitoring Virtual Users DBMS Web Servers Application Servers Mainframe Combining load testing with infrastructure monitoring: • Provides realistic emulation of transaction and traffic usage patterns to: • Ensure servers will scale to meet current and future needs • Correlate important performance relationships between all components of the application 4 infrastructure
  • 5. Delivering High Performing Applications What’s Needed: End-to-End Analysis of All Application Components Virtual Users DBMS Web Servers Application Servers Method JDBC-ODBC Method Method Mainframe Method Web Service Method URL JSP-ASP Method Method Web Service Method MQ JSP-ASP End-to-end performance analysis: • Provides the depth of analysis necessary to pinpoint performance problems 5
  • 6. Traditional Performance Testing Approach Expected… Actual… 6
  • 7. Why Load Testing is Not Enough NOT ENOUGH INFORMATION RESULT… • Only delivers general response • Missed delivery dates time, throughput or server metrics • Poor-quality applications • Does not identify where bottlenecks are, • High-end resources across environment or inside application involved in resolving • Doesn’t get to the root cause of the problems and waiting until problem the end of testing • Leads to finger-pointing • Costly/unnecessary infrastructure changes NOT TIMELY to fix problems • You have to wait until after load testing to understand whether you have a problem 7
  • 8. What Sets Performance Triage apart? PREDICTION: TROUBLESHOOTING: • Predict performance • Deeper analysis during under varying conditions load test • Identify impact of network • Pinpoint Java and .NET on application from performance problems multiple locations • Perform fewer • Pinpoint bottlenecks application retests across application tiers • Fix code prior to conducting load testing 8
  • 9. Performance Triage (PT) Load Testing only… PT Prediction & Troubleshooting… 9
  • 10. Performance Triage – Two mixes Re-active  Leverage profiling to deal with performance issues before load testing  Helps to make best use of limited testing timeframes Pro-active  Well structured approach to performance testing to prevent the ‘hair on fire’ scenarios 10
  • 11. Performance Triage in Action Case Study - Online Banking 11
  • 12. PT in Action - Case Study Introduction Setting the scene • Online banking arm of large corporate finance house • Urgent requirement to validate existing infrastructure capacity and to investigate capacity to handle further growth • Limited time to execute 12
  • 13. PT in Action - Case Study Performance Goals • Response Time SLA • Login / Signon less than 10 seconds • All other page response times less than 8 seconds • All transaction response times less than 20 seconds • Based on broadband bandwidth • Concurrency SLA • Support 600 concurrent end users • Server Utilization SLA • Server utilization < 50% measured as CPU, Memory and Disk I/O 13
  • 14. PT in Action – Case Study Load testing alone won’t identify hidden problems Bank Data Centre External Users Web Servers WAN Insufficient Capacity Sensitivity App Servers Slow Methods Internal Users DB Servers Contention Issues Bad SQL 14
  • 15. PT in Action - Case Study Identify and profile key transactions • Enrollment WAN Sensitivity Bad SQL • Signon • View account summary • View account details • Intra FI transfer • View check images Profile 15
  • 16. PT in Action – Case Study Profile – Predicting WAN sensitivity Increase in response time of 11 seconds when connecting over T1 link with 50ms latency 16
  • 17. PT in Action – Case Study Profile – Bad SQL performance SQL call taking in excess of 13 seconds to complete 17
  • 18. PT in Action – Case Study Profiling identifies hidden problems Bank Data Centre External Users Web Servers Insufficient Capacity WAN Sensitivity App Servers Internal Users Slow Methods DB Servers Contention Issues Bad SQL 18
  • 19. PT in Action – Case Study Load Testing Insufficient Capacity Performance goals Contention Issues • Login / Signon less than 10 seconds • All other page response times less than 8 seconds • All transaction response times less than 20 seconds Slow Methods • Support 600 concurrent end users • Server utilization < 50% measured as CPU, Memory and Disk I/O Load Test 19
  • 20. PT in Action – Case Study Load Testing – Transaction performance FAIL!! Response Time Transaction performance exceeds response time SLA Concurrent users Concurrent SLA: 600 users Response time SLA: < 20 seconds Elapsed time Transaction response time 20
  • 21. PT in Action – Case Study Load Testing – Server performance FAIL!! Insufficient Capacity Web server CPU utilization breaches SLA Concurrent users Concurrent SLA: 600 users Server CPU SLA: < 50 % Web server CPU % Elapsed time 21
  • 22. PT in Action – Case Study Load Testing – Application server FAIL!! Slow Method Analysis inside the JVM and CLR Slow performing method impacting response time and web server CPU 22
  • 23. PT in Action – Case Study Load Testing – Application server FAIL!! Memory Leak Analysis inside the JVM and CLR Memory not being released 23
  • 24. PT in Action – Case Study Load Testing – Transaction performance SUCCESS!! Transaction performance remains below response time SLA Concurrent users Concurrent SLA: 600 users Response time SLA: < 20 seconds Elapsed time Transaction response time 24
  • 25. PT in Action – Case Study Load Testing – Server performance SUCCESS!! Web server CPU utilization remains below SLA Concurrent users Concurrent SLA: 600 users Server CPU SLA: < 50 % Web server CPU % Elapsed time 25
  • 26. PT in Action – Case Study Profiling + Load Testing = All problems identified Bank Data Centre External Users Web Servers Insufficient Capacity WAN Sensitivity App Servers Internal Users Slow Methods DB Servers Contention Issues Bad SQL 26
  • 27. PT in Action – Case Study Deliverables • Response Time SLA PASS!! • Login / Signon less than 10 seconds • All other page response times less than 8 seconds • All transaction response times less than 20 seconds • Based on broadband bandwidth • Concurrency SLA PASS!! • Support 600 concurrent end users • Server Utilization SLA • Server utilization < 50% measured as CPU, Memory and Disk I/O PASS!! 27
  • 28. PT – ‘Pro-active’ remix PT – Becoming pro-active Avoiding the ‘Hair on Fire’ scenario 28
  • 29. PT ‘Pro-active remix’ – Mission Statement • Performance considerations should be factored into the application lifecycle at the earliest opportunity 29
  • 30. PT – ‘Pro-active’ remix PT Process Requirements capture 30
  • 31. PT ‘Pro-active remix’ – Requirements capture Performance goals • Response Time SLA • Login / Signon less than 10 seconds • All other page response times less than 8 seconds • Transaction response time less than 20 seconds • Based on broadband bandwidth • Application Concurrency SLA • 600 concurrent end users • Server Resource Utilization SLA • Less than 50% measured as CPU, Memory, Network Utilization and Disk I/O 31
  • 32. PT ‘Pro-active remix’ – Requirements capture Test environment Compare production to test system and identify differences 32
  • 33. PT ‘Pro-active remix’ – Requirements capture Identify key transactions • Enrollment • Signon • View account summary • View account details • Intra FI transfer • View check images • Copy check • Bill Payment Transaction • Check reorder 33
  • 34. PT ‘Pro-active remix’ – Requirements capture Transaction detail + Data View Account Summary • Home Page <- Target URL • Logon Page <- Login credentials • Verification Page • Challenge Page • Retrieving default account summary • Retrieving maximum amount of account history (90 days max) • Logoff 34
  • 35. PT ‘Pro-active remix’ – Requirements capture Identify data requirements • A minimum of 100 sets of unique end user login credentials • Test database to be a recent cut of live database • Each consumer banking logon account should contain: • 2-3 different accounts. (If multiple hosts are accessed during a logon, additional considerations may be warranted). • Several items of history in one of the accounts – generally a direct draw/checking account. Best results are obtained when this transaction history contains 20 or more items per month distributed over 90 days. 35
  • 36. PT ‘Pro-active remix’ – Requirements capture Virtual user allocation Allocation of virtual users to transactions 36
  • 37. PT ‘Pro-active remix’ – Requirements capture Summary Critical requirements identified  Performance goals ( SLA’s )  Validation of performance test environment  Data requirements identified  Key transactions identified  Virtual user allocation 37
  • 38. PT ‘Pro-active remix’ - Profile PT Process Profile 38
  • 39. PT – ‘Pro-active remix’ – Load Test PT Process Load Test 39
  • 40. Contact IonIdea 38 – 40 EPIP White Field Bangalore - 560066 Mohammed Ibrahim, Manager – Testing Practice Works - +91-80-66581577 Mobile - +91-9986650636 Cell(US)- (703) 268-2920 E-mail: mohammed.ibrahim@ionidea.com www.ionidea.com © 2008 Compuware Corporation — All Rights Reserved