SlideShare a Scribd company logo
Performance testing and reporting with JMeter Introduced by: Nghi Nguyen Van ~ March, 1 st  2012 ~
Agenda Introduction What is performance testing, why is it important Performance testing and monitoring tools Performance testing with JMeter What to focus in a performance test report Tips and tricks Q & A
Purpose of this presentation: Introduce about performance testing activity in eXo SEA Share experience in do 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 Introduction
What is performance testing, why is it important?
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 What is performance testing
Performance testing is commonly conducted to accomplish the following: Assess production readiness Evaluate against performance criteria Compare performance characteristics of multiple systems or system configurations Find the source of performance problems Support system tuning Find throughput levels What is performance testing...
Performance test Load test Stress test Capacity test Types of Performance Testing
Application performance impacted by various of factors Last minute surprises are always bad Applications made up from hundred/thousand of components Components change day by day Performance issues are hard to fix Why is it so important?
Performance testing and monitoring tools
Imagine about a performance testing system This system must provide information about: Availability/Stability Response time Throughput Utilization
Can provide data: Availability/Stability Response time 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)  Needed tools - Virtual users simulators
Data can provide: Percent of CPU utilization Amount of free memory Page file utilization Disk time Amount of free disk space Tools: OpenNMS Hyperic HQ Zabbix Perfmon (Windows) Needed tools – System monitoring
Can provide data: Detailed information about the application resource used Amount of used memory A mount of threads Openning files Monitoring tools: JvisualVM/VisualVM Jmxtrans + graphite Jprofiler HypericHQ Jmanage Javamelody Needed tools – application monitoring
A real performance testing system Application monitoring tool: jmxtrans, graphite Application measuring tool: JMeter System monitoring tool: OpenNMS
Performance testing with JMeter
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 Applicatio n 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 Apache JMeter introduction
+) 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 Why JMeter is chosen/still be in used
Response time 90% line of response time  (90 th  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 1 st   to Nth)/N Min and Max response time Error rate Throughput Performance testing notices – Basic parameters
Performance testing notices – Most reliable response time Most reliable response time = 90% line of response time  (90 th  percentile of response time)!
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 …
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
JMeter demo & notes
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
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
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
JMeter notices – script organization.p1
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) Each round of a VU is an iteration All of each VU iterations can use the same http session via cookies manager setting
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
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
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
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
[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] Data analysis and reporting- Performance test statements
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 Data analysis and reporting – stability of cycles
% of difference in response time Throughput distribution Application cycles Data analysis and reporting – detail
Memory leak Session leak Data analysis and reporting – detail
Data analysis and reporting – resource utilization
What to focus in a performance test report
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 A real performance test report explanation
Tips & tricks - A clear name for each performance test - non-GUI mode is more stable than GUI mode - Do not use listeners if not needed - Rampup is needed for heavy load - Assertion is needed to simulate a virtual user - Shutdown.sh -> save your effort while doing a long test - Unstable tests: think of data while an user run its scenario - If one user can not login, its later steps should not be counted - Backup after every important step you made to your script easily by cloning the jmx file - Speedup jmeter script modifying with text editors which support regex, e.g: kate
Links Http://code.google.com/p/jmeter-plugins/ http://jmeter.apache.org/ http://code.google.com/p/jmxtrans/wiki/IntroductionToJmxTrans?tm=6 https://wiki-int.exoplatform.org/display/QAF/Graphite https://wiki-int.exoplatform.org/display/TQA/Performance+test+suites+and+utilities https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.0.x+-+PLF-3.0.7+-+DS2+stability+test https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.5.x+-+PLF-3.5.0GA+-+DS2+stability+test https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1_TOMCAT+Performance+Reports https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1+PLF_PERF_04_SocialRead
Q & A
Thank you!

More Related Content

PPT
Performance testing and reporting with JMeter
PDF
Using JMeter and Google Analytics for Software Performance Testing
PDF
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
PDF
Performance testing with JMeter
PPTX
Load testing with J meter
PPTX
Perfromane Test Tool jmeter
PPTX
How we can measure server performance using jmeter?
PDF
Day1 JMeter_training_overview
Performance testing and reporting with JMeter
Using JMeter and Google Analytics for Software Performance Testing
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
Performance testing with JMeter
Load testing with J meter
Perfromane Test Tool jmeter
How we can measure server performance using jmeter?
Day1 JMeter_training_overview

What's hot (20)

PDF
Mykola Kovsh - Functional API automation with Jmeter
PPTX
Performance Testing using Jmeter and Capacity Testing
PPTX
Performance testing using jmeter
PPTX
Introduction to jmeter & how to view jmeter Test Result in Real-Time
PPTX
Performance Testing from Scratch + JMeter intro
DOC
Jmeter interviewquestions
PPTX
Perofrmance testing and apache jmeter
PPTX
"Introduction to JMeter" @ CPTM 3rd Session
PDF
JMeter - Performance testing your webapp
PDF
Introduction to JMeter
PPTX
How to Simplify Load Testing: JMeter and Beyond
PDF
Jmeter Performance Testing
PPTX
Interpreting Performance Test Results
PDF
Performance testing with jmeter
PPT
Performance testing with Jmeter
PDF
Jmeter Tester Certification
PPT
Load Test Drupal Site Using JMeter and Amazon AWS
PPTX
JMeter_ Cubet Seminar ppt
PPTX
JMeter Post-Processors
Mykola Kovsh - Functional API automation with Jmeter
Performance Testing using Jmeter and Capacity Testing
Performance testing using jmeter
Introduction to jmeter & how to view jmeter Test Result in Real-Time
Performance Testing from Scratch + JMeter intro
Jmeter interviewquestions
Perofrmance testing and apache jmeter
"Introduction to JMeter" @ CPTM 3rd Session
JMeter - Performance testing your webapp
Introduction to JMeter
How to Simplify Load Testing: JMeter and Beyond
Jmeter Performance Testing
Interpreting Performance Test Results
Performance testing with jmeter
Performance testing with Jmeter
Jmeter Tester Certification
Load Test Drupal Site Using JMeter and Amazon AWS
JMeter_ Cubet Seminar ppt
JMeter Post-Processors
Ad

Similar to Performance testing and_reporting_with_j_meter by Le Van Nghi (20)

PPT
Performance testing and j meter
PDF
Performancetestingjmeter 131210111657-phpapp02
PDF
Performancetestingjmeter 121109061704-phpapp02
PDF
Continuous Performance Testing
ODP
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
PPT
Test Automation
PPT
Test Automation for QTP
PPT
Performance testing jmeter
PPTX
JMETER-SKILLWISE
PPT
Qtp Training Deepti 1 Of 4187
PPTX
Basic of jMeter
PPT
08-Performence_Testing Project Explain.ppt
PPTX
Software testing
PPT
Verification & Validation
PPT
Testing Types And Models
PPTX
Performance testing and j meter overview
PPTX
performance testing training in hyderabad
PPTX
performance testing training in hyderabad
PPTX
performance testing training in hyderabad
PDF
Performance Testing.3zen.pdf
Performance testing and j meter
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Continuous Performance Testing
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Test Automation
Test Automation for QTP
Performance testing jmeter
JMETER-SKILLWISE
Qtp Training Deepti 1 Of 4187
Basic of jMeter
08-Performence_Testing Project Explain.ppt
Software testing
Verification & Validation
Testing Types And Models
Performance testing and j meter overview
performance testing training in hyderabad
performance testing training in hyderabad
performance testing training in hyderabad
Performance Testing.3zen.pdf
Ad

More from eXo Platform (19)

PPTX
Workshop blockchain au service de l engagement - 20-3-2019
PDF
Digitalisation RH –Avec ou sans les DRH
PDF
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
PPTX
L’Intranet, socle de l’entreprise digitale !
PPTX
Un hub collaboratif unique et intégré : les pour et les contre
PPTX
Intranet Project: Roll-out Strategy & Pain Points to consider
PDF
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
PPT
Peut-on décider un changement de culture d'entreprise?
PPTX
Conférence sur la Digital Workplace au Salon Intranet & Collaboratif
PPT
eXo Platform - Votre plateforme de travail collaboratif
PPT
eXo Platform 4.4 Released: Work Better with More Context!
PDF
When Collaboration Drives Your Digital Transformation
PDF
Solutions to your employee disengagement
PDF
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
PDF
Introduce Bootstrap 3 to Develop Responsive Design Application
PDF
CRaSH the shell for the Java Virtual Machine
PDF
Hands on iOS developments with Jenkins
PDF
CRaSH @ JUGSummerCamp 2012 - Quickie
PDF
Modèles Business Open Source - Success story eXo
Workshop blockchain au service de l engagement - 20-3-2019
Digitalisation RH –Avec ou sans les DRH
De l'Intranet institutionnel à la Digital Workplace : la démarche du groupe d...
L’Intranet, socle de l’entreprise digitale !
Un hub collaboratif unique et intégré : les pour et les contre
Intranet Project: Roll-out Strategy & Pain Points to consider
How we migrate 350+ Maven CI jobs to Pipeline as Code with Jenkins 2 and Docker
Peut-on décider un changement de culture d'entreprise?
Conférence sur la Digital Workplace au Salon Intranet & Collaboratif
eXo Platform - Votre plateforme de travail collaboratif
eXo Platform 4.4 Released: Work Better with More Context!
When Collaboration Drives Your Digital Transformation
Solutions to your employee disengagement
eXoer on the grill: eXo Add-ons factory using Docker and Codenvy
Introduce Bootstrap 3 to Develop Responsive Design Application
CRaSH the shell for the Java Virtual Machine
Hands on iOS developments with Jenkins
CRaSH @ JUGSummerCamp 2012 - Quickie
Modèles Business Open Source - Success story eXo

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Cloud computing and distributed systems.
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
Spectroscopy.pptx food analysis technology
Cloud computing and distributed systems.
Network Security Unit 5.pdf for BCA BBA.
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Approach and Philosophy of On baking technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf

Performance testing and_reporting_with_j_meter by Le Van Nghi

  • 1. Performance testing and reporting with JMeter Introduced by: Nghi Nguyen Van ~ March, 1 st 2012 ~
  • 2. Agenda Introduction What is performance testing, why is it important Performance testing and monitoring tools Performance testing with JMeter What to focus in a performance test report Tips and tricks Q & A
  • 3. Purpose of this presentation: Introduce about performance testing activity in eXo SEA Share experience in do 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 Introduction
  • 4. What is performance testing, why is it important?
  • 5. 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 What is performance testing
  • 6. Performance testing is commonly conducted to accomplish the following: Assess production readiness Evaluate against performance criteria Compare performance characteristics of multiple systems or system configurations Find the source of performance problems Support system tuning Find throughput levels What is performance testing...
  • 7. Performance test Load test Stress test Capacity test Types of Performance Testing
  • 8. Application performance impacted by various of factors Last minute surprises are always bad Applications made up from hundred/thousand of components Components change day by day Performance issues are hard to fix Why is it so important?
  • 9. Performance testing and monitoring tools
  • 10. Imagine about a performance testing system This system must provide information about: Availability/Stability Response time Throughput Utilization
  • 11. Can provide data: Availability/Stability Response time 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) Needed tools - Virtual users simulators
  • 12. Data can provide: Percent of CPU utilization Amount of free memory Page file utilization Disk time Amount of free disk space Tools: OpenNMS Hyperic HQ Zabbix Perfmon (Windows) Needed tools – System monitoring
  • 13. Can provide data: Detailed information about the application resource used Amount of used memory A mount of threads Openning files Monitoring tools: JvisualVM/VisualVM Jmxtrans + graphite Jprofiler HypericHQ Jmanage Javamelody Needed tools – application monitoring
  • 14. A real performance testing system Application monitoring tool: jmxtrans, graphite Application measuring tool: JMeter System monitoring tool: OpenNMS
  • 16. 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 Applicatio n 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 Apache JMeter introduction
  • 17. +) 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 Why JMeter is chosen/still be in used
  • 18. Response time 90% line of response time (90 th 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 1 st to Nth)/N Min and Max response time Error rate Throughput Performance testing notices – Basic parameters
  • 19. Performance testing notices – Most reliable response time Most reliable response time = 90% line of response time (90 th percentile of response time)!
  • 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 …
  • 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
  • 22. JMeter demo & notes
  • 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
  • 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
  • 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
  • 26. JMeter notices – script organization.p1
  • 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) Each round of a VU is an iteration All of each VU iterations can use the same http session via cookies manager setting
  • 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
  • 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
  • 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
  • 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
  • 32. [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] Data analysis and reporting- Performance test statements
  • 33. 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 Data analysis and reporting – stability of cycles
  • 34. % of difference in response time Throughput distribution Application cycles Data analysis and reporting – detail
  • 35. Memory leak Session leak Data analysis and reporting – detail
  • 36. Data analysis and reporting – resource utilization
  • 37. What to focus in a performance test report
  • 38. 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 A real performance test report explanation
  • 39. Tips & tricks - A clear name for each performance test - non-GUI mode is more stable than GUI mode - Do not use listeners if not needed - Rampup is needed for heavy load - Assertion is needed to simulate a virtual user - Shutdown.sh -> save your effort while doing a long test - Unstable tests: think of data while an user run its scenario - If one user can not login, its later steps should not be counted - Backup after every important step you made to your script easily by cloning the jmx file - Speedup jmeter script modifying with text editors which support regex, e.g: kate
  • 40. Links Http://code.google.com/p/jmeter-plugins/ http://jmeter.apache.org/ http://code.google.com/p/jmxtrans/wiki/IntroductionToJmxTrans?tm=6 https://wiki-int.exoplatform.org/display/QAF/Graphite https://wiki-int.exoplatform.org/display/TQA/Performance+test+suites+and+utilities https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.0.x+-+PLF-3.0.7+-+DS2+stability+test https://wiki-int.exoplatform.org/display/TQA/PLF_PERF_04_SocialRead-3.5.x+-+PLF-3.5.0GA+-+DS2+stability+test https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1_TOMCAT+Performance+Reports https://wiki-int.exoplatform.org/display/exoReleases/TC-PLF-3.5.1+PLF_PERF_04_SocialRead
  • 41. Q & A

Editor's Notes

  • #11: This is a very simple image about a testing system. A developer usually test with this system.
  • #17: 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
  • #18: (JMeter-plugins for example: that enrich JMeter features can provide information about: Availability, Response time, Throughput in many views
  • #25: 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
  • #30: http://http://code.google.com/p/jmeter-plugins/wiki/JMeterPluginsCMD
  • #31: 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