SlideShare une entreprise Scribd logo
1  sur  42
Performance testing and reporting
          with JMeter




                  Introduced by: Nghi Nguyen Van
                        ~ March, 1 2012 ~
                                   st




                                        www.exoplatform.com
                                  Copyright 2011 eXo Platform
Agenda                                                                 ●●●●

1.   Introduction
2.   What is performance testing, why is it important
3.   Performance testing and monitoring tools
4.   Performance testing with JMeter
5.   What to focus in a performance test report
6.   Tips and tricks
7.   Q&A




                                                         www.exoplatform.com
                               2
                                                   Copyright 2011 eXo Platform
Introduction
                                                                                 ●●●●

Purpose of this presentation:
      Introduce about performance testing activity in eXo SEA
      Share experience in doing performance testing
      Share experience in working with JMeter
This presentation serves to:
● Leaders to understand about performance testing activity, reports
● Who is new in using JMeter to gain knowledge about using JMeter
      ● Who experienced in JMeter want to gain, share & discuss about
         using JMeter
      ● Testers who want to understand about building, using
          performance testing system




                                                                   www.exoplatform.com
                                     3
                                                             Copyright 2011 eXo Platform
What is performance testing, why is it
             important?


                                      www.exoplatform.com
                   4
                                Copyright 2011 eXo Platform
What is performance testing                                             ●●●●
Definition:
  Performance testing is a type of testing intended to determine
            • the responsiveness
            • throughput
            • reliability
            • and/or scalability of a system under a given workload




                                                            www.exoplatform.com
                                  5
                                                      Copyright 2011 eXo Platform
What is performance testing...                                                 ●●●●
Performance testing is commonly conducted to accomplish the
  following:
     1)   Assess production readiness
     2)   Evaluate against performance criteria
     3)   Compare performance characteristics of multiple systems or system
          configurations
     4)   Find the source of performance problems
     5)   Support system tuning
     6)   Find throughput levels




                                                                   www.exoplatform.com
                                      6
                                                             Copyright 2011 eXo Platform
Types of Performance Testing                        ●●●●


        1.   Performance test
        2.   Load test
        3.   Stress test
        4.   Capacity test




                                      www.exoplatform.com
                            7
                                Copyright 2011 eXo Platform
Why is it so important?                                                   ●●●●




         1. Application performance impacted by various
           of factors
         2. Last minute surprises are always bad
         3. Applications made up from hundred/thousand
           of components
         4. Components change day by day
         5. Performance issues are hard to fix
                                                            www.exoplatform.com
                               8
                                                      Copyright 2011 eXo Platform
Performance testing and monitoring tools



                                      www.exoplatform.com
                   9
                                Copyright 2011 eXo Platform
Imagine about a performance testing system
                                                                  ●●●●




This system must provide information about:
     1)   Availability/Stability
     2)   Response time
     3)   Throughput
     4)   Utilization


                                                    www.exoplatform.com
                                   10
                                              Copyright 2011 eXo Platform
Needed tools - Virtual users simulators
                                                                         ●●●●

Can provide data:
   1.   Availability/Stability
   2.   Response time
   3.   Throughput
Commercial tools:
   •    LoadRunner (HP)
   •    IBM Rational Performance Tester (IBM)
   •    Visual Studio Load Test (Microsoft)
Opensource tools:
   •    Apache JMeter (Apache Jakarta)
   •    The grinder
   •    OpenSTA (Open System Testing Architecture)


                                                           www.exoplatform.com
                                      11
                                                     Copyright 2011 eXo Platform
Needed tools – System monitoring
                                                                ●●●●
Data can provide:
     1.   Percent of CPU utilization
     2.   Amount of free memory
     3.   Page file utilization
     4.   Disk time
     5.   Amount of free disk space
Tools:
     1.   OpenNMS
     2.   Hyperic HQ
     3.   Zabbix
     4.   Perfmon (Windows)




                                                  www.exoplatform.com
                                       12
                                            Copyright 2011 eXo Platform
Needed tools – application monitoring
                                                                                         ●●●●
Can provide data:
     1.   Detailed information about the application resource used
     2.   Amount of used memory
     3.   A mount of threads
     4.   Openning files

Monitoring tools:
     •    JvisualVM/VisualVM
     •    Jmxtrans + graphite
     •    Jprofiler
     •    HypericHQ
     •    Jmanage
     •    Javamelody

                                                                           www.exoplatform.com
                                        13
                                                                     Copyright 2011 eXo Platform
A real performance testing system
                                                                          ●●●●

    Application monitoring tool: jmxtrans, graphite

    Application measuring tool: JMeter

    System monitoring tool: OpenNMS




                                                            www.exoplatform.com
                                 14
                                                      Copyright 2011 eXo Platform
Performance testing with JMeter


                                   www.exoplatform.com
                15
                             Copyright 2011 eXo Platform
Apache JMeter introduction
                                                                                     ●●●●
The Apache JMeter™ desktop application is:
  - open source software
  - 100% pure Java application designed to load test functional behavior and
    measure performance
  - designed for testing Web Application
JMeter features:
  - Can load and performance test many
  different server types
  - Complete portability and 100% Java purity
  - Full multithreading framework
  - Careful GUI design
  - Caching and offline analysis/replaying of
  test results.
  - Highly Extensible
                                                                       www.exoplatform.com
                                       16
                                                                 Copyright 2011 eXo Platform
Why JMeter is chosen/still be in used
                                                                               ●●●●

+) Easy to use for both developer and tester
     record/modify with GUI
     understand & modify under text mode
     install the tool and distribute test scripts
+) Good enough
     Rich elements that help doing performance test easily (especially
      web apps)
     Stable
     Good for both simple and advance test configuration
     Good with CI/automation test model
     Extendable via plugins
+) Opensource
+-) JMeter is a great tool but poor document

                                                                 www.exoplatform.com
                                     17
                                                           Copyright 2011 eXo Platform
Performance testing notices – Basic parameters
                                                                               ●●●●




  1) Response time
        − 90% line of response time (90th percentile of response
           time)
              • 90% of all the response time values less or equal
                 than this value)
        − Average response time
              • Simple average of all values=(sum of all values
                 from 1st to Nth)/N18
                                                               www.exoplatform.com
                                                         Copyright 2011 eXo Platform
●●●●




                                                                                                                                                                                     90% line of response time
                                                                                                                                                                                     average of response time




                                                                                                                                                                                                                                                  www.exoplatform.com
                                                                                                                                                                                                                                                                        Copyright 2011 eXo Platform
                                                                                                                                                                                     max of response time
                                                                                                                                                                                     min of response time
                                                                                                                                                                                     HTTP response time
Performance testing notices – Most reliable response time

                                                            Most reliable response time = 90% line of response time (90th percentile




                                                                                                                                                                                                                                   22:59:42.599
                                                                                                                                                                                                                                   22:58:12.599
                                                                                                                                                                                                                                   22:56:42.599
                                                                                                                                                                                                                                   22:55:12.599
                                                                                                                                                                                                                                   22:53:42.599
                                                                                                                                                                                                                                   22:52:12.599
                                                                                                                                                                                                                                   22:50:42.599
                                                                                                                                                                                                                                   22:49:12.599
                                                                                                                                                                                                                                   22:47:42.599
                                                                                                                                                                                                                                   22:46:12.599
                                                                                                                                                                                                                                   22:44:42.599
                                                                                                                                                                                                                                   22:43:12.599
                                                                                                                                                                                                                                   22:41:42.599
                                                                                                                                       Response times view




                                                                                                                                                                                                                                   22:40:12.599
                                                                                                                                                                                                                                   22:38:42.599
                                                                                                                                                                                                                                   22:37:12.599




                                                                                                                                                                                                                                                            19
                                                                                                                                                                                                                                   22:35:42.599
                                                                                                                                                                                                                                   22:34:12.599
                                                                                                                                                                                                                                   22:32:42.599
                                                                                                                                                                                                                                   22:31:12.599
                                                                                                                                                                                                                                   22:29:42.599
                                                                                                                                                                                                                                   22:28:12.599
                                                                                                                                                                                                                                   22:26:42.599
                                                                                                                                                                                                                                   22:25:12.599
                                                                                                                                                                                                                                   22:23:42.599
                                                                                                                                                                                                                                   22:22:12.599
                                                                                                                                                                                                                                   22:20:42.599
                                                                                                                                                                                                                                   22:19:12.599
                                                             of response time)!


                                                                                                                                                                                                                                   22:17:42.599
                                                                                                                                                                                                                                   22:16:12.599
                                                                                                                                                                                                                                   22:14:42.599
                                                                                                                                                                                                                                   22:13:12.599
                                                                                                                                                                                                                                   22:11:42.599
                                                                                                                                                                                                                                   22:10:12.599
                                                                                                                                                                                                                                   22:08:42.599
                                                                                                                                                                                                                                   22:07:12.599
                                                                                                                                                                                                                                   22:05:42.599
                                                                                                                                                                                                                                   22:04:12.599
                                                                                                                                                                                                                                   22:02:42.599
                                                                                                                                                                                                                                   22:01:12.599




                                                                                                                                                             240

                                                                                                                                                                   230

                                                                                                                                                                         220

                                                                                                                                                                               210

                                                                                                                                                                                       200

                                                                                                                                                                                                190

                                                                                                                                                                                                          180

                                                                                                                                                                                                                 170

                                                                                                                                                                                                                       160

                                                                                                                                                                                                                             150
                                                                                                                                                                                     Response time (ms)
Performance testing tips - Do stability test
                                                                          ●●●●

Purpose
     − Make sure that the test is reliable
     − Gain better knowledge about application/test
     − Give/confirm later tests' settings:
         • Test duration
         • Test cycles
         • …




                                                            www.exoplatform.com
                               20
                                                      Copyright 2011 eXo Platform
Performance testing tips - Do stability test
                                                                               ●●●●

How
      −   Choose a simple test
      −   Repeat the test for many times (e.g: >=6 times)
      −   Calculate difference from result of each test to their
          average
      −   Apply the performance test statements




                                                                 www.exoplatform.com
                                   21
                                                           Copyright 2011 eXo Platform
JMeter demo & notes



                            www.exoplatform.com
         22
                      Copyright 2011 eXo Platform
Demo notices – Jenkins flow
                                                                ●●●●

Jenkins flows:
  •
      JMeter benchmark process
  •
      Perf-suite
  •
      Loop until end of setting file
  •
      Various of test settings
  •
      Easy to maintain/extend




                                                  www.exoplatform.com
                                       23
                                            Copyright 2011 eXo Platform
Demo notices – JMeter script
                                                                       ●●●●

Introduce JMeter script
How is a script used in a benchmark flow with jenkins
Scripts:
     –   PLF_PERF_05_Login.jmx
     –   PLF_PERF_04_SocialRead-3.0.x.jmx
     –   PLF_PERF_03_ECMS-Public.jmx




                                                         www.exoplatform.com
                                 24
                                                   Copyright 2011 eXo Platform
JMeter notices – recording/modifying script
                                                                              ●●●●

Use selenium script → this is for QA who have to repeat the scenario
  oftenly
   Save and backup the first recorded version, backup after
    every importance change
   Find and replace all the changeable values by Jmeter
    variables such as
       –   host address
       –   port number
       –   date and time
       –   account used in the scenario
       –   Id of components
 HTTP response assertions are
needed to avoid something wrong


                                                                www.exoplatform.com
                                          25
                                                          Copyright 2011 eXo Platform
JMeter notices – script organization.p1
                                                              ●●●●




                                                www.exoplatform.com
                           26
                                          Copyright 2011 eXo Platform
JMeter notices – script organization.p2
                                                                                        ●●●●

Test plan interface
      
          Jmeter properties usage can be used to make up an interface for a
          testscript
      
          Properties' value should be assigned to runtime variables at user
          defined variable table and use these variables instead
      
          This will help to make a script clear, easy to understand and maintain,
          especially with scripts need to be run with different configurations
Ram-up, Loop duration, Think time, Thread count
      
          Rampup value helps a heavy test can be loaded smoother
      
          Loop duration: a test need to be ended with a suitable duration/loops
          count
      
          Think time (timer) should be used to simulate a real user
      
          Threads count will impact to test results, it is number of virtual users
          that you need to simulate
Cookies, Session, Iteration
      
          Cookies manager is needed in most of the cases to use the same http
          session for each VU (iteration)
                                                                          www.exoplatform.com
                                        27
      
          Each round of a VU is an iteration                        Copyright 2011 eXo Platform
JMeter notices – script usage
                                                                               ●●●●

    Test process (startup, warm-up, measure)

    Automate test rounds (jenkins & perf-suite)

    Confirm the test script with single VU (as a result of preheat)

    Perf test short duration & long duration

    Jmeter GUI mode vs Non-gui mode: Non-gui mode is preferred

    JTL file/Listeners: jtl file is needed/enough via the command
    jmeter -n -l output.jtl -t … listeners are not needed




                                                                 www.exoplatform.com
                                    28
                                                           Copyright 2011 eXo Platform
Data collecting methods


     JMeter plugins and command line mode with JTL file

     Use suitable listeners in Jmeter GUI mode

     Merge results from multiple jtl files

     Monitoring tools (jmxtrans graphite, opennms/zabbix): collect via
    browsers




                                                                     www.exoplatform.com
                                                               Copyright 2011 eXo Platform
Data collecting method – JMeter-plugins command line
                                                                            ●●●●

  JMeter plugins and command line mode with JTL file
  
     java -jar CMDRunner.jar --tool Reporter --input-jtl results.jtl
    --plugin-type <Plugin Type Classes> --generate-png/--generate-
    csv <file_name> [… other options...]
Plugin Type Classes:
  
     AggregateReport = JMeter's native Aggregate Report, can be
    saved only as CSV
  
     ThreadsStateOverTime = Active Threads Over Time
  
     HitsPerSecond
  
     ResponseTimesDistribution
  
     ResponseTimesOverTime
  
     ResponseTimesPercentiles
  
     ThroughputOverTime
  
     TransactionsPerSecond
                                                              www.exoplatform.com
                                 30
                                                        Copyright 2011 eXo Platform
Data analysis and reporting

    Performance test statements

    Stability of cycles

    % of difference in response time

    Throughput distribution

    Application cycles

    Memory leak

    Session leak

    Resource utilization (see bottle necks)

    Error rate

    Throughput, 90% line of response time




                                                       www.exoplatform.com
                                                 Copyright 2011 eXo Platform
Data analysis and reporting- Performance test statements
                                                                                        ●●●●

 [90% line of response time] is more reliable than [average response time]
 Variation in range of [-5%,5%] should be treated as normal for [response time]


   Variation out of range [-10%,10%] should be treated as an improvement/decline of
   [response time]
   Variation in range of [-10%,-5%) and (5%,10%] should be considered as a
   decline/improvement of [response time]
   Variation in range of [-3%,3%] should be treated as normal for [Throughput]
   Variation out of range [-5%,5%] should be treated as an improvement/decline of
   [Throughput]
   Variation in range of [-5%,-3%) and (3%,5%] should be considered as a
   decline/improvement of [Throughput]




                                                                          www.exoplatform.com
                                         32
                                                                    Copyright 2011 eXo Platform
Data analysis and reporting – stability of cycles
                                                                                  ●●●●

As a result of the statements:

       Tests cycles on the same package and same test configuration
        should not be vary out of range [-5%, 5%] in comparison to their
        aggregation results
       The aggregation of cycles, itself, makes the test result more
        accurate, reduces error but unstable results still need to be
        checked.
       The stability of test rounds help us to give more accurate reports




                                                                    www.exoplatform.com
                                    33
                                                              Copyright 2011 eXo Platform
Data analysis and reporting – detail
                                                                ●●●●

   % of difference in response time
   Throughput distribution
   Application cycles




                                                  www.exoplatform.com
                                       34
                                            Copyright 2011 eXo Platform
Data analysis and reporting – detail
                                                           ●●●●


    Memory leak

    Session leak




                                             www.exoplatform.com
                            35
                                       Copyright 2011 eXo Platform
Data analysis and reporting – resource utilization
                                                                   ●●●●




                                                     www.exoplatform.com
                            36
                                               Copyright 2011 eXo Platform
What to focus in a performance test report


                                        www.exoplatform.com
                    37
                                  Copyright 2011 eXo Platform
A real performance test report explanation
                                                                                 ●●●●


   TC-PLF-3.5.1 PLF_PERF_04_SocialRead explanation
        https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-
         3.5.1+PLF_PERF_04_SocialRead




                                                                   www.exoplatform.com
                                    38
                                                             Copyright 2011 eXo Platform
Tips & tricks

1. - A clear name for each performance test
2. - non-GUI mode is more stable than GUI mode
3. - Do not use listeners if not needed
4. - Rampup is needed for heavy load
5. - Assertion is needed to simulate a virtual user
6. - Shutdown.sh → save your effort while doing a long test
7. - Unstable tests: think of data while an user run its scenario
8. - If one user can not login, its later steps should not be counted
9. - Backup after every important step you made to your script easily
   by cloning the jmx file
10.- Speedup jmeter script modifying with text editors which support
   regex, e.g: kate


                                                               www.exoplatform.com
                                                         Copyright 2011 eXo Platform
Links

1. Http://code.google.com/p/jmeter-plugins/
2. http://jmeter.apache.org/
3. http://code.google.com/p/jmxtrans/wiki/IntroductionToJmxTrans?tm=6
4. https://wiki-int.exoplatform.org/display/QAF/Graphite
5. https://wiki-int.exoplatform.org/display/TQA/Performance+test+suites+and+u
6. https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.0.x
7. https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.5.x
8. https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1_TOMCAT
9. https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1+PLF_PER




                                                                 www.exoplatform.com
                                                           Copyright 2011 eXo Platform
Q&A


            www.exoplatform.com
 41
      Copyright 2011 eXo Platform
Thank you!


                   www.exoplatform.com
     42
             Copyright 2011 eXo Platform

Contenu connexe

Tendances

Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache JmeterSabitri Gaire
 
Getting start with Performance Testing
Getting start with Performance Testing Getting start with Performance Testing
Getting start with Performance Testing Yogesh Deshmukh
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaEdureka!
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmetertest test
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeterWira Santos
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeterlethibichhoa
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeterRedBlackTree
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingXBOSoft
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 

Tendances (20)

Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
Presentation on Apache Jmeter
Presentation on Apache JmeterPresentation on Apache Jmeter
Presentation on Apache Jmeter
 
Getting start with Performance Testing
Getting start with Performance Testing Getting start with Performance Testing
Getting start with Performance Testing
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
JMeter
JMeterJMeter
JMeter
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance Testing
 
Jmeter
JmeterJmeter
Jmeter
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 

Similaire à Performance testing and reporting with JMeter

B4usolution performance testing
B4usolution performance testingB4usolution performance testing
B4usolution performance testingHoa Le
 
All-in-one tool functional, integration, performance testing and QoE monitori...
All-in-one tool functional, integration, performance testing and QoE monitori...All-in-one tool functional, integration, performance testing and QoE monitori...
All-in-one tool functional, integration, performance testing and QoE monitori...OW2
 
Unified Functional Testing - Prelim.pptx
Unified Functional Testing - Prelim.pptxUnified Functional Testing - Prelim.pptx
Unified Functional Testing - Prelim.pptxJamelPandiin2
 
Measure performance of the application using open source performance testing...
Measure performance of the  application using open source performance testing...Measure performance of the  application using open source performance testing...
Measure performance of the application using open source performance testing...BugRaptors
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 
Adding Performance Testing to a Software Development Project
Adding Performance Testing to a Software Development ProjectAdding Performance Testing to a Software Development Project
Adding Performance Testing to a Software Development ProjectCris Holdorph
 
PTF Presentation
PTF PresentationPTF Presentation
PTF PresentationTelly Ipock
 
Selenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IESelenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IEClever Moe
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONAmin Bandeali
 
ElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest Project
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersClever Moe
 
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Ori Bendet
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16AppDynamics
 
Testing Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupTesting Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupViktor Gamov
 

Similaire à Performance testing and reporting with JMeter (20)

Jvm mbeans jmxtran
Jvm mbeans jmxtranJvm mbeans jmxtran
Jvm mbeans jmxtran
 
B4usolution performance testing
B4usolution performance testingB4usolution performance testing
B4usolution performance testing
 
Automation for developers
Automation for developersAutomation for developers
Automation for developers
 
All-in-one tool functional, integration, performance testing and QoE monitori...
All-in-one tool functional, integration, performance testing and QoE monitori...All-in-one tool functional, integration, performance testing and QoE monitori...
All-in-one tool functional, integration, performance testing and QoE monitori...
 
Unified Functional Testing - Prelim.pptx
Unified Functional Testing - Prelim.pptxUnified Functional Testing - Prelim.pptx
Unified Functional Testing - Prelim.pptx
 
Measure performance of the application using open source performance testing...
Measure performance of the  application using open source performance testing...Measure performance of the  application using open source performance testing...
Measure performance of the application using open source performance testing...
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Selenium Training in Chennai
Selenium Training in ChennaiSelenium Training in Chennai
Selenium Training in Chennai
 
Adding Performance Testing to a Software Development Project
Adding Performance Testing to a Software Development ProjectAdding Performance Testing to a Software Development Project
Adding Performance Testing to a Software Development Project
 
Framework
FrameworkFramework
Framework
 
PTF Presentation
PTF PresentationPTF Presentation
PTF Presentation
 
Selenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IESelenium XPath Performance Problems in IE
Selenium XPath Performance Problems in IE
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATION
 
ElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest: quality for cloud native applications
ElasTest: quality for cloud native applications
 
Open Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, ManagersOpen Source Test Workshop for CIOs, CTOs, Managers
Open Source Test Workshop for CIOs, CTOs, Managers
 
Unit testing (eng)
Unit testing (eng)Unit testing (eng)
Unit testing (eng)
 
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
 
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
Monitoring and Instrumentation Strategies: Tips and Best Practices - AppSphere16
 
Testing Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user groupTesting Flex RIAs for NJ Flex user group
Testing Flex RIAs for NJ Flex user group
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Performance testing and reporting with JMeter

  • 1. Performance testing and reporting with JMeter Introduced by: Nghi Nguyen Van ~ March, 1 2012 ~ st www.exoplatform.com Copyright 2011 eXo Platform
  • 2. Agenda ●●●● 1. Introduction 2. What is performance testing, why is it important 3. Performance testing and monitoring tools 4. Performance testing with JMeter 5. What to focus in a performance test report 6. Tips and tricks 7. Q&A www.exoplatform.com 2 Copyright 2011 eXo Platform
  • 3. Introduction ●●●● Purpose of this presentation: Introduce about performance testing activity in eXo SEA Share experience in doing performance testing Share experience in working with JMeter This presentation serves to: ● Leaders to understand about performance testing activity, reports ● Who is new in using JMeter to gain knowledge about using JMeter ● Who experienced in JMeter want to gain, share & discuss about using JMeter ● Testers who want to understand about building, using performance testing system www.exoplatform.com 3 Copyright 2011 eXo Platform
  • 4. What is performance testing, why is it important? www.exoplatform.com 4 Copyright 2011 eXo Platform
  • 5. What is performance testing ●●●● Definition: Performance testing is a type of testing intended to determine • the responsiveness • throughput • reliability • and/or scalability of a system under a given workload www.exoplatform.com 5 Copyright 2011 eXo Platform
  • 6. What is performance testing... ●●●● Performance testing is commonly conducted to accomplish the following: 1) Assess production readiness 2) Evaluate against performance criteria 3) Compare performance characteristics of multiple systems or system configurations 4) Find the source of performance problems 5) Support system tuning 6) Find throughput levels www.exoplatform.com 6 Copyright 2011 eXo Platform
  • 7. Types of Performance Testing ●●●● 1. Performance test 2. Load test 3. Stress test 4. Capacity test www.exoplatform.com 7 Copyright 2011 eXo Platform
  • 8. Why is it so important? ●●●● 1. Application performance impacted by various of factors 2. Last minute surprises are always bad 3. Applications made up from hundred/thousand of components 4. Components change day by day 5. Performance issues are hard to fix www.exoplatform.com 8 Copyright 2011 eXo Platform
  • 9. Performance testing and monitoring tools www.exoplatform.com 9 Copyright 2011 eXo Platform
  • 10. Imagine about a performance testing system ●●●● This system must provide information about: 1) Availability/Stability 2) Response time 3) Throughput 4) Utilization www.exoplatform.com 10 Copyright 2011 eXo Platform
  • 11. Needed tools - Virtual users simulators ●●●● Can provide data: 1. Availability/Stability 2. Response time 3. Throughput Commercial tools: • LoadRunner (HP) • IBM Rational Performance Tester (IBM) • Visual Studio Load Test (Microsoft) Opensource tools: • Apache JMeter (Apache Jakarta) • The grinder • OpenSTA (Open System Testing Architecture) www.exoplatform.com 11 Copyright 2011 eXo Platform
  • 12. Needed tools – System monitoring ●●●● Data can provide: 1. Percent of CPU utilization 2. Amount of free memory 3. Page file utilization 4. Disk time 5. Amount of free disk space Tools: 1. OpenNMS 2. Hyperic HQ 3. Zabbix 4. Perfmon (Windows) www.exoplatform.com 12 Copyright 2011 eXo Platform
  • 13. Needed tools – application monitoring ●●●● Can provide data: 1. Detailed information about the application resource used 2. Amount of used memory 3. A mount of threads 4. Openning files Monitoring tools: • JvisualVM/VisualVM • Jmxtrans + graphite • Jprofiler • HypericHQ • Jmanage • Javamelody www.exoplatform.com 13 Copyright 2011 eXo Platform
  • 14. A real performance testing system ●●●●  Application monitoring tool: jmxtrans, graphite  Application measuring tool: JMeter  System monitoring tool: OpenNMS www.exoplatform.com 14 Copyright 2011 eXo Platform
  • 15. Performance testing with JMeter www.exoplatform.com 15 Copyright 2011 eXo Platform
  • 16. Apache JMeter introduction ●●●● The Apache JMeter™ desktop application is: - open source software - 100% pure Java application designed to load test functional behavior and measure performance - designed for testing Web Application JMeter features: - Can load and performance test many different server types - Complete portability and 100% Java purity - Full multithreading framework - Careful GUI design - Caching and offline analysis/replaying of test results. - Highly Extensible www.exoplatform.com 16 Copyright 2011 eXo Platform
  • 17. Why JMeter is chosen/still be in used ●●●● +) Easy to use for both developer and tester  record/modify with GUI  understand & modify under text mode  install the tool and distribute test scripts +) Good enough  Rich elements that help doing performance test easily (especially web apps)  Stable  Good for both simple and advance test configuration  Good with CI/automation test model  Extendable via plugins +) Opensource +-) JMeter is a great tool but poor document www.exoplatform.com 17 Copyright 2011 eXo Platform
  • 18. Performance testing notices – Basic parameters ●●●● 1) Response time − 90% line of response time (90th percentile of response time) • 90% of all the response time values less or equal than this value) − Average response time • Simple average of all values=(sum of all values from 1st to Nth)/N18 www.exoplatform.com Copyright 2011 eXo Platform
  • 19. ●●●● 90% line of response time average of response time www.exoplatform.com Copyright 2011 eXo Platform max of response time min of response time HTTP response time Performance testing notices – Most reliable response time Most reliable response time = 90% line of response time (90th percentile 22:59:42.599 22:58:12.599 22:56:42.599 22:55:12.599 22:53:42.599 22:52:12.599 22:50:42.599 22:49:12.599 22:47:42.599 22:46:12.599 22:44:42.599 22:43:12.599 22:41:42.599 Response times view 22:40:12.599 22:38:42.599 22:37:12.599 19 22:35:42.599 22:34:12.599 22:32:42.599 22:31:12.599 22:29:42.599 22:28:12.599 22:26:42.599 22:25:12.599 22:23:42.599 22:22:12.599 22:20:42.599 22:19:12.599 of response time)! 22:17:42.599 22:16:12.599 22:14:42.599 22:13:12.599 22:11:42.599 22:10:12.599 22:08:42.599 22:07:12.599 22:05:42.599 22:04:12.599 22:02:42.599 22:01:12.599 240 230 220 210 200 190 180 170 160 150 Response time (ms)
  • 20. Performance testing tips - Do stability test ●●●● Purpose − Make sure that the test is reliable − Gain better knowledge about application/test − Give/confirm later tests' settings: • Test duration • Test cycles • … www.exoplatform.com 20 Copyright 2011 eXo Platform
  • 21. Performance testing tips - Do stability test ●●●● How − Choose a simple test − Repeat the test for many times (e.g: >=6 times) − Calculate difference from result of each test to their average − Apply the performance test statements www.exoplatform.com 21 Copyright 2011 eXo Platform
  • 22. JMeter demo & notes www.exoplatform.com 22 Copyright 2011 eXo Platform
  • 23. Demo notices – Jenkins flow ●●●● Jenkins flows: • JMeter benchmark process • Perf-suite • Loop until end of setting file • Various of test settings • Easy to maintain/extend www.exoplatform.com 23 Copyright 2011 eXo Platform
  • 24. Demo notices – JMeter script ●●●● Introduce JMeter script How is a script used in a benchmark flow with jenkins Scripts: – PLF_PERF_05_Login.jmx – PLF_PERF_04_SocialRead-3.0.x.jmx – PLF_PERF_03_ECMS-Public.jmx www.exoplatform.com 24 Copyright 2011 eXo Platform
  • 25. JMeter notices – recording/modifying script ●●●● Use selenium script → this is for QA who have to repeat the scenario oftenly  Save and backup the first recorded version, backup after every importance change  Find and replace all the changeable values by Jmeter variables such as – host address – port number – date and time – account used in the scenario – Id of components  HTTP response assertions are needed to avoid something wrong www.exoplatform.com 25 Copyright 2011 eXo Platform
  • 26. JMeter notices – script organization.p1 ●●●● www.exoplatform.com 26 Copyright 2011 eXo Platform
  • 27. JMeter notices – script organization.p2 ●●●● Test plan interface  Jmeter properties usage can be used to make up an interface for a testscript  Properties' value should be assigned to runtime variables at user defined variable table and use these variables instead  This will help to make a script clear, easy to understand and maintain, especially with scripts need to be run with different configurations Ram-up, Loop duration, Think time, Thread count  Rampup value helps a heavy test can be loaded smoother  Loop duration: a test need to be ended with a suitable duration/loops count  Think time (timer) should be used to simulate a real user  Threads count will impact to test results, it is number of virtual users that you need to simulate Cookies, Session, Iteration  Cookies manager is needed in most of the cases to use the same http session for each VU (iteration) www.exoplatform.com 27  Each round of a VU is an iteration Copyright 2011 eXo Platform
  • 28. JMeter notices – script usage ●●●●  Test process (startup, warm-up, measure)  Automate test rounds (jenkins & perf-suite)  Confirm the test script with single VU (as a result of preheat)  Perf test short duration & long duration  Jmeter GUI mode vs Non-gui mode: Non-gui mode is preferred  JTL file/Listeners: jtl file is needed/enough via the command jmeter -n -l output.jtl -t … listeners are not needed www.exoplatform.com 28 Copyright 2011 eXo Platform
  • 29. Data collecting methods  JMeter plugins and command line mode with JTL file  Use suitable listeners in Jmeter GUI mode  Merge results from multiple jtl files  Monitoring tools (jmxtrans graphite, opennms/zabbix): collect via browsers www.exoplatform.com Copyright 2011 eXo Platform
  • 30. Data collecting method – JMeter-plugins command line ●●●●  JMeter plugins and command line mode with JTL file  java -jar CMDRunner.jar --tool Reporter --input-jtl results.jtl --plugin-type <Plugin Type Classes> --generate-png/--generate- csv <file_name> [… other options...] Plugin Type Classes:  AggregateReport = JMeter's native Aggregate Report, can be saved only as CSV  ThreadsStateOverTime = Active Threads Over Time  HitsPerSecond  ResponseTimesDistribution  ResponseTimesOverTime  ResponseTimesPercentiles  ThroughputOverTime  TransactionsPerSecond www.exoplatform.com 30 Copyright 2011 eXo Platform
  • 31. Data analysis and reporting  Performance test statements  Stability of cycles  % of difference in response time  Throughput distribution  Application cycles  Memory leak  Session leak  Resource utilization (see bottle necks)  Error rate  Throughput, 90% line of response time www.exoplatform.com Copyright 2011 eXo Platform
  • 32. Data analysis and reporting- Performance test statements ●●●● [90% line of response time] is more reliable than [average response time]  Variation in range of [-5%,5%] should be treated as normal for [response time]  Variation out of range [-10%,10%] should be treated as an improvement/decline of [response time]  Variation in range of [-10%,-5%) and (5%,10%] should be considered as a decline/improvement of [response time]  Variation in range of [-3%,3%] should be treated as normal for [Throughput]  Variation out of range [-5%,5%] should be treated as an improvement/decline of [Throughput]  Variation in range of [-5%,-3%) and (3%,5%] should be considered as a decline/improvement of [Throughput] www.exoplatform.com 32 Copyright 2011 eXo Platform
  • 33. Data analysis and reporting – stability of cycles ●●●● As a result of the statements:  Tests cycles on the same package and same test configuration should not be vary out of range [-5%, 5%] in comparison to their aggregation results  The aggregation of cycles, itself, makes the test result more accurate, reduces error but unstable results still need to be checked.  The stability of test rounds help us to give more accurate reports www.exoplatform.com 33 Copyright 2011 eXo Platform
  • 34. Data analysis and reporting – detail ●●●●  % of difference in response time  Throughput distribution  Application cycles www.exoplatform.com 34 Copyright 2011 eXo Platform
  • 35. Data analysis and reporting – detail ●●●●  Memory leak  Session leak www.exoplatform.com 35 Copyright 2011 eXo Platform
  • 36. Data analysis and reporting – resource utilization ●●●● www.exoplatform.com 36 Copyright 2011 eXo Platform
  • 37. What to focus in a performance test report www.exoplatform.com 37 Copyright 2011 eXo Platform
  • 38. A real performance test report explanation ●●●●  TC-PLF-3.5.1 PLF_PERF_04_SocialRead explanation  https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF- 3.5.1+PLF_PERF_04_SocialRead www.exoplatform.com 38 Copyright 2011 eXo Platform
  • 39. Tips & tricks 1. - A clear name for each performance test 2. - non-GUI mode is more stable than GUI mode 3. - Do not use listeners if not needed 4. - Rampup is needed for heavy load 5. - Assertion is needed to simulate a virtual user 6. - Shutdown.sh → save your effort while doing a long test 7. - Unstable tests: think of data while an user run its scenario 8. - If one user can not login, its later steps should not be counted 9. - Backup after every important step you made to your script easily by cloning the jmx file 10.- Speedup jmeter script modifying with text editors which support regex, e.g: kate www.exoplatform.com Copyright 2011 eXo Platform
  • 40. Links 1. Http://code.google.com/p/jmeter-plugins/ 2. http://jmeter.apache.org/ 3. http://code.google.com/p/jmxtrans/wiki/IntroductionToJmxTrans?tm=6 4. https://wiki-int.exoplatform.org/display/QAF/Graphite 5. https://wiki-int.exoplatform.org/display/TQA/Performance+test+suites+and+u 6. https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.0.x 7. https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.5.x 8. https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1_TOMCAT 9. https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1+PLF_PER www.exoplatform.com Copyright 2011 eXo Platform
  • 41. Q&A www.exoplatform.com 41 Copyright 2011 eXo Platform
  • 42. Thank you! www.exoplatform.com 42 Copyright 2011 eXo Platform

Notes de l'éditeur

  1. This is a very simple image about a testing system. A developer usually test with this system.
  2. The Apache JMeter™ desktop application is: -open source software, -100% pure Java application designed to load test functional behavior and measure performance - originally designed for testing Web Applications JMeter features: -Can load and performance test many different server types: Web - HTTP, HTTPS SOAP, Database via JDBC, LDAP, JMS, Mail - POP3(S) and IMAP(S) -Complete portability and 100% Java purity. -Full multithreading framework -Careful GUI design -Caching and offline analysis/replaying of test results. -Highly Extensible
  3. (JMeter-plugins for example: that enrich JMeter features can provide information about: Availability, Response time, Throughput in many views
  4. http://svn.exoplatform.org/projects/platform/branches/3.0.x/testsuite/perf/src/test/jmeter/PLF_PERF_05_Login.jmx http://svn.exoplatform.org/projects/platform/branches/3.0.x/testsuite/perf/src/test/jmeter/PLF_PERF_04_SocialRead-3.0.x.jmx http://svn.exoplatform.org/projects/platform/branches/3.0.x/testsuite/perf/src/test/jmeter/PLF_PERF_03_ECMS-Public.jmx
  5. http://http://code.google.com/p/jmeter-plugins/wiki/JMeterPluginsCMD
  6. java -jar CMDRunner.jar --tool Reporter --input-jtl results.jtl --plugin-type ResponseTimesOverTime --generate-png test.png --width 800 --height 600 java -jar CMDRunner.jar --tool Reporter --input-jtl results.jtl --plugin-type ResponseTimesOverTime --generate-csv test.csv