SlideShare a Scribd company logo
1 of 50
● Performance testing
• Load Testing
• StressTesting
● What is JMeter
● JMeter basic elements
● Building a Script
●Running a Script
●Recording a Script (Bootstrapping)
Sam Varadarajan, for IEJUG
Svaradar.tech@gmail.com
Agenda
Performance Testing
What is Performance testing?
Performance testing is performed to determine how a system performs in terms of
responsiveness and stability under a particular workload. It is typically non-functional,
meaning, we only care about load on the system, scalability etc. Actual functionality is
not tested in this phase. (That will be done in Functional Test phase).
The real goal is to find that maximum load that the system can handle without
performance degradation or crashes.
There are several types of performance testing, but 2 are important:
• Load/Capacity Testing
• Stress Testing
We will be focusing mainly on Load Testing in this presentation.
Load / Capacity Testing
•Load testing is the simplest form of performance
testing. A load test is usually conducted to
understand the behavior of the system under a
specific (expected) sustained load.
•The load can be the expected concurrent number
of users on the application performing a specific
number of transactions within the set duration.
•In simple terms, it is the maximum load the horse
can carry without it tripping or the carriage
toppling!
•During the tests we will collect the the response
times of all the important business critical
transactions. If the database, application server,
etc. are also monitored, then this simple test can
itself point towards any bottlenecks in the
application software.
Stress Testing
•Every system has a capacity limit. When the load
goes beyond the limit, the System starts responding
very slowly and even produce errors. we have seen
this in Databases, Network etc.
•It is more visible on a Web site, as number of users
can drastically (often unpredictably) increase,
depending on content. We saw this recently with
HealthCare.gov! Sometimes, websites crash due to
attacks such as denial of service attack.
•In simple terms, Stress on the system is that last
straw on the camel's back that broke it.
•The purpose of the stress testing is to find the
capacity limit of the system. We do this by increasing
the load on the system beyond a safe limit, so the
system will eventually crash. With the findings, we
can adjust the parameters to stretch this limit.
General Load Testing Script
Load Testing itself can broken down into following steps:
•Create Test (Can be recorded using some tool)
•Configure workload settings
•Add measurement hooks
•Data drive script (using variables and parameters to generalize it)
•Add logging
•Generate reports/charts from performance data collected.
Load Testing - Manually
This is how they did load testing before.
Just ak a bunch of users to come to a
training room. The users will start using
the application according to a script and
run simultaneously!
We probably generated a very weak load
and didn't really stress it either!
Load Testing Automated
•All or most of these steps can be automated using several different
programs/scripts.
•There are testing tools that have integrated these into tools called Load Testing
tools.
•Mercury Load Runner and Rational Rose tools are commercial products that have
been around for a long time.
•With the advent of Web applications, several new tools have appeared in both
commercial and open source arena. Following slide shows a list of Load testing
tools available.
Load Testing Tools
Tool Name Company Name Notes
Apache JMeter An Apache Jakarta open source
project
Java desktop application for load testing and performance measurement.
BlazeMeter BlazeMeter Ltd. BlazeMeter is a JMeter compatible, self-service, load testing platform.
Blitz Spirent Communications Blitz is a service for load and performance testing of websites, mobile, web
apps and REST APIs in the cloud.
Gatling Open Source JVM application with scenarios as code and portable HTML reports.
Loader.io SendGrid Labs Cloud based load testing service
Load Impact Load Impact - AB Cloud based performance testing SaaS tool.
LoadRunner HP Performance testing tool primarily used Licensed.
Load Test (included with
Soatest)
Parasoft Performance testing tool
loadUI SmartBear Software Cross-platform load testing tool
Login VSI Login VSI, Inc. Performance testing software for Windows based virtualized desktops.
Licensed.
NeoLoad Neotys Load testing tool for web and mobile applications.
OpenSTA Open System Testing Architecture Open source web load/stress testing application, licensed under the Gnu
GPL.
Rational Performance Tester IBM Eclipse based large scale performance testing tool
Silk Performer Borland Application performance tool with cloud and local virtual agents. Licensed
Test Studio Telerik Test Studio is a load testing tool
Visual StudioUltimate edition Microsoft Visual Studio Ultimate edition includes a load test tool
WebLOAD RadView Load testing tool for web and mobile applications Licensed.[3]
(Courtesy: Wikipedia)
JMeter
What is JMeter?
•JMeter is a free, open-source performance measurement tool
written in Java
•JMeter is built by the reputed Apache project community
• JMeter is available as a desktop Java application and can be run
in GUI and batch modes. It can also be run in distributed modes.
•It has a completely extensible architecture. It allows us to
develops various elements that can be reused in different parts
of a test plan. It also allows plugins to be developed, so the tool
can be further extended.
Why JMeter?
 It is an Open source tool.
 Can load and performance test many different server types:
 Web - HTTP, HTTPS
 SOAP
 Database via JDBC
 LDAP
 JMS
 Mail - POP3(S) and IMAP(S)
 User friendly GUI Design. Can be run in batch and distributed modes to handle more load.
 Full multithreading framework allows concurrent sampling by many threads and simultaneous
sampling of different functions by separate thread groups.
 Can mimick Web browser functionality including Caching and Cookies.
 Controllers are configurable and can monitor the server performance.
 Test results can be captured in various format like summary report, Graph, Aggregate report,
Aggregate graph, Results in tree and Results in Table. The results can be stored in files for later
review as well.
 Extensible architecture. Supports plugins, bean shell etc to add more functionality.
Installing Jmeter
• Install Java (1.5 or higher)
• Download JMeter http://jmeter.apache.org/download_jmeter.cgi
• Add path of java installation in environment path variables.
•A test plan describes a series of steps
JMeter will execute when run.
•A complete test plan will consist of one
or more Thread Groups, logic conrollers,
sample generating controllers, listeners,
timers, assertions, and configuration
elements.
JMeter Test Plan
Elements of a Test Plan
The Test Plan is the wrapper for the entire test suite. It wraps around
the following elements in an hierarchical fashion.
•Thread Group
This is really the logic unit of a load test. There can be many thread
groups in a Test Plan.
–Setup number of thread
–Set up ramp up period
–No. of times test executes
•Controllers
–Sampler (Send Request to Server)
–Logical Controller (Customize logic to send request); includes
Loop Controller and One Time Controller.
•Listener
Help to capture and display results in various formats. For e.g.,
–Graph Result
–View Results Tree or Table format and many more.
•Timers
–Add a delay to the next request
Continued….
Elements of Test Plans
• Assertions
– Allow you to assert fact about responses received from HTTP request
• Configuration Elements
– Allow you configure settings
• Preprocessor
– Execute prior to sampler request
• Post Processor
– Execute some action after sampler request
1. Config Element
2. Pre-Processor
3. Timer
4. Sampler
5. Post-Processor
6. Assertion
7. Listener
Order of Execution
Building a Test Plan
•Thread group elements are the
beginning points of any test plan.
•All controllers and samplers must
be under a thread group.
•Each thread represents a user
setting a thread group to 500
simulates 500 users.
Thread Group
Thread Group Contd...
•Samplers tell JMeter to send requests to a server and wait for a response.
They are processed in the order they appear in the tree.
Sampler
Sampler Contd...
•Listeners can be used to display (or store) performance information JMeter collects during tests.
Listener
Listener Contd...
Listener Contd...
•Logic Controllers let you
customize the logic that
JMeter uses to decide
when to send requests.
•Logic Controllers can
change the order of
requests coming from their
child elements. They can
modify the requests
themselves, cause JMeter
to repeat requests, etc.
Logic Controller
•A configuration element
works closely with a
Sampler. Although it does
not send requests (except
for HTTP Proxy Server ), it
can add to or
modifyrequests.
Configuration Elements
Configuration Element
Contd...
Configuration Element
Contd...
•Assertions allow you to assert facts about
responses received from the server being tested.
• Using an assertion, you can essentially "test"
that your application is returning the results you
expect it to.
Assertions
Other Test Elements
● A Pre-Processor executes some action prior to a Sampler Request being made.
● A Post-Processor executes some action after aSampler Request has been made.
●A Timer will cause JMeter to delay a certain amount of time before each sampler
which is in its scope.
Variables
JMeter allows
parameters,
properties and
variables to keep the
test scripts
generalized.
Syntax for Variable:
${VARIABLE}
• Variables can be
declared and used in
successive layers.
JMeter Test Plan Completed
JMeter Test Plan Completed
• Once you completed, you can save the
test plan with a meaningful name.
• The script file generated is an XML file
and will be saved with a .JMX
extension.
• You can run this script using command
line mode as well, so you don't have to
load GUI.
Running a Test Plan
Running in Batch Mode
On command line, in the JMeterbin directory, you can type:
jmeter -n -t C:samload_testscriptsLT600_laweb2_test_syt6.jmx -j
C:samload_testlogjmeter_1212.overnight.log -l C:samload_testlogjmeter_1212.overnight.jtl
Where,
LT600_laweb2_test_syt6.jmx is the script I saved in the completion step above.
-n makes it non-GUI
-t name of the test script you want to use
-j for the JMeter.log (I change this to match my log file naming above)
-l for the JTL file - in XML format, has the same details we get in listeners above.
We may have some use for this, but for now I am just saving it.
You can put the above command inside a batch file to save typing!
Appendix
Non-Testing Elements
Non-Testing Elements Contd...
HTTP(S) Script Recording Element
Recording a Script
• Setup a non-test element, HTTP(S)
Test Script Recorder on the
workbench.
• Setup all the inclusion, exclusion lists
and other properties.
• Click on Start.
Now, JMeter is running as a local proxy
server. If you adjust PC's proxy setting
to use this as the proxy server, all
requests will pass through JMeter.
Recording a Script Contd...
Next you need to setup the browser to use our JMeter listener as a
local proxy
Recording a Script Contd...
Recording a Script Contd...
• Now that we have captured all the
pages to be visited, we can clean it all
up. This is a good place to start.
• Parametrize and add variables
wherever possible and move the pages
(samplers) to a Thread Group and build
up our test plan.
Recording a script Contd...• An easier way is to use BadBoy software to capture the pages and export to
JMeter. Download and install Badboy software from
http://www.badboy.com.au/download/send?svId=124
Recording a Script Contd...
Real life Test Scenario
• Our App Servers kept crashing on
heavy load days. We had to constantly
restart the servers, bringing down all
the web users along with it. After
making some changes to the
application, had to simulate the huge
load on the servers to test if it will
sustain the next tax season. After
reviewing various tools, we chose
JMEter.
Real life Test scenario
Contd...
• When we upgraded our infrastructure*
recently, we used JMEter to compare
old environment and new environment
for performance. We ran the same set
of scripts against old and new
environments to identify any
bottlenecks.
* We upgrade to PowerBuilder 12.5, Oracle to 11g, Windows servers to
Windows 2008.
Real life Test scenario
Contd...
• Our Web application did an overkill of logging in the
database. We had a maximum concurrent user limit
set to 300 in Oracle. We wanted to increase that.
• To help with the tweaking, I ran JMeter scripts that
pushed the EAServers to connect to the database
continuously to make the database run out of
handles - sort of stressing the database to its limits.
We were able to tweak the setting and retest for the
load condition.
• Eventually, I refactored the code to reduce these
loggings. Of course, JMeter came to the rescue
again!
Demo
Q&A

More Related Content

What's hot

Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeterRedBlackTree
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationJay Jha
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeterWira Santos
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter Knoldus Inc.
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingTharinda Liyanage
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter Shub
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance TestingSWAAM Tech
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With JmeterAdam Goucher
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaEdureka!
 
Performance Testing
Performance TestingPerformance Testing
Performance Testingsharmaparish
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance TestingAtul Pant
 
How we can measure server performance using jmeter?
How we can measure server performance using jmeter?How we can measure server performance using jmeter?
How we can measure server performance using jmeter?BugRaptors
 

What's hot (20)

Performance testing with Apache JMeter
Performance testing with Apache JMeterPerformance testing with Apache JMeter
Performance testing with Apache JMeter
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authentication
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
Performance testing
Performance testingPerformance testing
Performance testing
 
JMeter
JMeterJMeter
JMeter
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
How we can measure server performance using jmeter?
How we can measure server performance using jmeter?How we can measure server performance using jmeter?
How we can measure server performance using jmeter?
 

Viewers also liked

Load Testing with JMeter
Load Testing with JMeterLoad Testing with JMeter
Load Testing with JMeterYuriy Gerasimov
 
Dynamic Database Solutions - Mitigating Performance Degradations
Dynamic Database Solutions - Mitigating Performance DegradationsDynamic Database Solutions - Mitigating Performance Degradations
Dynamic Database Solutions - Mitigating Performance DegradationsDobler Consulting
 
Keeping Private Data Private
Keeping Private Data PrivateKeeping Private Data Private
Keeping Private Data PrivateDobler Consulting
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2Dobler Consulting
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1Dobler Consulting
 
Sybase to oracle_conversion
Sybase to oracle_conversionSybase to oracle_conversion
Sybase to oracle_conversionSam Varadarajan
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureChiradeep Vittal
 
Benchmarking layout
Benchmarking  layout Benchmarking  layout
Benchmarking layout mrhoang_hanam
 
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt Ltd
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt LtdPerformance Testing of eLearning Portal- A case study by Oak Systems Pvt Ltd
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt LtdOak Systems
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesChiradeep Vittal
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureChiradeep Vittal
 
Performance Testing - Apache Benchmark, JMeter
Performance Testing  - Apache Benchmark, JMeterPerformance Testing  - Apache Benchmark, JMeter
Performance Testing - Apache Benchmark, JMeterAntoni Orfin
 
Performance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyPerformance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyOptimus Information Inc.
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureNGINX, Inc.
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeterjvSlideshare
 
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris OW2
 

Viewers also liked (20)

Load Testing with JMeter
Load Testing with JMeterLoad Testing with JMeter
Load Testing with JMeter
 
Dynamic Database Solutions - Mitigating Performance Degradations
Dynamic Database Solutions - Mitigating Performance DegradationsDynamic Database Solutions - Mitigating Performance Degradations
Dynamic Database Solutions - Mitigating Performance Degradations
 
Keeping Private Data Private
Keeping Private Data PrivateKeeping Private Data Private
Keeping Private Data Private
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 2
 
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1
A Practitioner's Guide to Successfully Migrate from Oracle to Sybase ASE Part 1
 
Sybase to oracle_conversion
Sybase to oracle_conversionSybase to oracle_conversion
Sybase to oracle_conversion
 
Sybase To Oracle Migration for Developers
Sybase To Oracle Migration for DevelopersSybase To Oracle Migration for Developers
Sybase To Oracle Migration for Developers
 
Sybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAsSybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAs
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Benchmarking layout
Benchmarking  layout Benchmarking  layout
Benchmarking layout
 
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt Ltd
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt LtdPerformance Testing of eLearning Portal- A case study by Oak Systems Pvt Ltd
Performance Testing of eLearning Portal- A case study by Oak Systems Pvt Ltd
 
Loadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro servicesLoadbalancers: The fabric for your micro services
Loadbalancers: The fabric for your micro services
 
Load Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native ArchitectureLoad Balancing for Containers and Cloud Native Architecture
Load Balancing for Containers and Cloud Native Architecture
 
Performance and Load Testing
Performance and Load TestingPerformance and Load Testing
Performance and Load Testing
 
Performance Testing - Apache Benchmark, JMeter
Performance Testing  - Apache Benchmark, JMeterPerformance Testing  - Apache Benchmark, JMeter
Performance Testing - Apache Benchmark, JMeter
 
Performance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case StudyPerformance Testing with LoadRunner Case Study
Performance Testing with LoadRunner Case Study
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
Benmarking Orange Forge with CLIF, OW2con'15, November 17, Paris
 

Similar to JMeter Intro

Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meterPurna Chandar
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonDavid O'Dowd
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Nitish Bhardwaj
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsMuhammad Shehata
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02Gopi Raghavendra
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)QA Programmer
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overviewkrishna chaitanya
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSVladimir Ilic
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeterGalih Lasahido
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd SessionTharinda Liyanage
 
Best Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsBest Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsTesting World
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache JmeterMindfire Solutions
 
J meter introduction
J meter introductionJ meter introduction
J meter introductionBharath Kumar
 
Day1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewDay1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewSravanthi N
 
Jmeter_Presentaion_Parag
Jmeter_Presentaion_ParagJmeter_Presentaion_Parag
Jmeter_Presentaion_ParagPARAG KHEDIKAR
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion isummation
 

Similar to JMeter Intro (20)

Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip BannonSoft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
Soft Test Ireland - Introduction to Jakarta Jmeter - Philip Bannon
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeter
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 
Best Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working ProfessionalsBest Jmeter Interview Questions- Prepared by Working Professionals
Best Jmeter Interview Questions- Prepared by Working Professionals
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
J meter introduction
J meter introductionJ meter introduction
J meter introduction
 
Day1_Apache_JMeter_Overview
Day1_Apache_JMeter_OverviewDay1_Apache_JMeter_Overview
Day1_Apache_JMeter_Overview
 
Jmeter_Presentaion_Parag
Jmeter_Presentaion_ParagJmeter_Presentaion_Parag
Jmeter_Presentaion_Parag
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
Performance testing
Performance testingPerformance testing
Performance testing
 

Recently uploaded

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

JMeter Intro

  • 1. ● Performance testing • Load Testing • StressTesting ● What is JMeter ● JMeter basic elements ● Building a Script ●Running a Script ●Recording a Script (Bootstrapping) Sam Varadarajan, for IEJUG Svaradar.tech@gmail.com Agenda
  • 3. What is Performance testing? Performance testing is performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It is typically non-functional, meaning, we only care about load on the system, scalability etc. Actual functionality is not tested in this phase. (That will be done in Functional Test phase). The real goal is to find that maximum load that the system can handle without performance degradation or crashes. There are several types of performance testing, but 2 are important: • Load/Capacity Testing • Stress Testing We will be focusing mainly on Load Testing in this presentation.
  • 4. Load / Capacity Testing •Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific (expected) sustained load. •The load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. •In simple terms, it is the maximum load the horse can carry without it tripping or the carriage toppling! •During the tests we will collect the the response times of all the important business critical transactions. If the database, application server, etc. are also monitored, then this simple test can itself point towards any bottlenecks in the application software.
  • 5. Stress Testing •Every system has a capacity limit. When the load goes beyond the limit, the System starts responding very slowly and even produce errors. we have seen this in Databases, Network etc. •It is more visible on a Web site, as number of users can drastically (often unpredictably) increase, depending on content. We saw this recently with HealthCare.gov! Sometimes, websites crash due to attacks such as denial of service attack. •In simple terms, Stress on the system is that last straw on the camel's back that broke it. •The purpose of the stress testing is to find the capacity limit of the system. We do this by increasing the load on the system beyond a safe limit, so the system will eventually crash. With the findings, we can adjust the parameters to stretch this limit.
  • 6. General Load Testing Script Load Testing itself can broken down into following steps: •Create Test (Can be recorded using some tool) •Configure workload settings •Add measurement hooks •Data drive script (using variables and parameters to generalize it) •Add logging •Generate reports/charts from performance data collected.
  • 7. Load Testing - Manually This is how they did load testing before. Just ak a bunch of users to come to a training room. The users will start using the application according to a script and run simultaneously! We probably generated a very weak load and didn't really stress it either!
  • 8. Load Testing Automated •All or most of these steps can be automated using several different programs/scripts. •There are testing tools that have integrated these into tools called Load Testing tools. •Mercury Load Runner and Rational Rose tools are commercial products that have been around for a long time. •With the advent of Web applications, several new tools have appeared in both commercial and open source arena. Following slide shows a list of Load testing tools available.
  • 9. Load Testing Tools Tool Name Company Name Notes Apache JMeter An Apache Jakarta open source project Java desktop application for load testing and performance measurement. BlazeMeter BlazeMeter Ltd. BlazeMeter is a JMeter compatible, self-service, load testing platform. Blitz Spirent Communications Blitz is a service for load and performance testing of websites, mobile, web apps and REST APIs in the cloud. Gatling Open Source JVM application with scenarios as code and portable HTML reports. Loader.io SendGrid Labs Cloud based load testing service Load Impact Load Impact - AB Cloud based performance testing SaaS tool. LoadRunner HP Performance testing tool primarily used Licensed. Load Test (included with Soatest) Parasoft Performance testing tool loadUI SmartBear Software Cross-platform load testing tool Login VSI Login VSI, Inc. Performance testing software for Windows based virtualized desktops. Licensed. NeoLoad Neotys Load testing tool for web and mobile applications. OpenSTA Open System Testing Architecture Open source web load/stress testing application, licensed under the Gnu GPL. Rational Performance Tester IBM Eclipse based large scale performance testing tool Silk Performer Borland Application performance tool with cloud and local virtual agents. Licensed Test Studio Telerik Test Studio is a load testing tool Visual StudioUltimate edition Microsoft Visual Studio Ultimate edition includes a load test tool WebLOAD RadView Load testing tool for web and mobile applications Licensed.[3] (Courtesy: Wikipedia)
  • 11. What is JMeter? •JMeter is a free, open-source performance measurement tool written in Java •JMeter is built by the reputed Apache project community • JMeter is available as a desktop Java application and can be run in GUI and batch modes. It can also be run in distributed modes. •It has a completely extensible architecture. It allows us to develops various elements that can be reused in different parts of a test plan. It also allows plugins to be developed, so the tool can be further extended.
  • 12. Why JMeter?  It is an Open source tool.  Can load and performance test many different server types:  Web - HTTP, HTTPS  SOAP  Database via JDBC  LDAP  JMS  Mail - POP3(S) and IMAP(S)  User friendly GUI Design. Can be run in batch and distributed modes to handle more load.  Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.  Can mimick Web browser functionality including Caching and Cookies.  Controllers are configurable and can monitor the server performance.  Test results can be captured in various format like summary report, Graph, Aggregate report, Aggregate graph, Results in tree and Results in Table. The results can be stored in files for later review as well.  Extensible architecture. Supports plugins, bean shell etc to add more functionality.
  • 13. Installing Jmeter • Install Java (1.5 or higher) • Download JMeter http://jmeter.apache.org/download_jmeter.cgi • Add path of java installation in environment path variables.
  • 14. •A test plan describes a series of steps JMeter will execute when run. •A complete test plan will consist of one or more Thread Groups, logic conrollers, sample generating controllers, listeners, timers, assertions, and configuration elements. JMeter Test Plan
  • 15. Elements of a Test Plan The Test Plan is the wrapper for the entire test suite. It wraps around the following elements in an hierarchical fashion. •Thread Group This is really the logic unit of a load test. There can be many thread groups in a Test Plan. –Setup number of thread –Set up ramp up period –No. of times test executes •Controllers –Sampler (Send Request to Server) –Logical Controller (Customize logic to send request); includes Loop Controller and One Time Controller. •Listener Help to capture and display results in various formats. For e.g., –Graph Result –View Results Tree or Table format and many more. •Timers –Add a delay to the next request Continued….
  • 16. Elements of Test Plans • Assertions – Allow you to assert fact about responses received from HTTP request • Configuration Elements – Allow you configure settings • Preprocessor – Execute prior to sampler request • Post Processor – Execute some action after sampler request
  • 17. 1. Config Element 2. Pre-Processor 3. Timer 4. Sampler 5. Post-Processor 6. Assertion 7. Listener Order of Execution
  • 19. •Thread group elements are the beginning points of any test plan. •All controllers and samplers must be under a thread group. •Each thread represents a user setting a thread group to 500 simulates 500 users. Thread Group
  • 21. •Samplers tell JMeter to send requests to a server and wait for a response. They are processed in the order they appear in the tree. Sampler
  • 23. •Listeners can be used to display (or store) performance information JMeter collects during tests. Listener
  • 26. •Logic Controllers let you customize the logic that JMeter uses to decide when to send requests. •Logic Controllers can change the order of requests coming from their child elements. They can modify the requests themselves, cause JMeter to repeat requests, etc. Logic Controller
  • 27. •A configuration element works closely with a Sampler. Although it does not send requests (except for HTTP Proxy Server ), it can add to or modifyrequests. Configuration Elements
  • 30. •Assertions allow you to assert facts about responses received from the server being tested. • Using an assertion, you can essentially "test" that your application is returning the results you expect it to. Assertions
  • 31. Other Test Elements ● A Pre-Processor executes some action prior to a Sampler Request being made. ● A Post-Processor executes some action after aSampler Request has been made. ●A Timer will cause JMeter to delay a certain amount of time before each sampler which is in its scope.
  • 32. Variables JMeter allows parameters, properties and variables to keep the test scripts generalized. Syntax for Variable: ${VARIABLE} • Variables can be declared and used in successive layers.
  • 33. JMeter Test Plan Completed
  • 34. JMeter Test Plan Completed • Once you completed, you can save the test plan with a meaningful name. • The script file generated is an XML file and will be saved with a .JMX extension. • You can run this script using command line mode as well, so you don't have to load GUI.
  • 36. Running in Batch Mode On command line, in the JMeterbin directory, you can type: jmeter -n -t C:samload_testscriptsLT600_laweb2_test_syt6.jmx -j C:samload_testlogjmeter_1212.overnight.log -l C:samload_testlogjmeter_1212.overnight.jtl Where, LT600_laweb2_test_syt6.jmx is the script I saved in the completion step above. -n makes it non-GUI -t name of the test script you want to use -j for the JMeter.log (I change this to match my log file naming above) -l for the JTL file - in XML format, has the same details we get in listeners above. We may have some use for this, but for now I am just saving it. You can put the above command inside a batch file to save typing!
  • 39. Non-Testing Elements Contd... HTTP(S) Script Recording Element
  • 40. Recording a Script • Setup a non-test element, HTTP(S) Test Script Recorder on the workbench. • Setup all the inclusion, exclusion lists and other properties. • Click on Start. Now, JMeter is running as a local proxy server. If you adjust PC's proxy setting to use this as the proxy server, all requests will pass through JMeter.
  • 41. Recording a Script Contd... Next you need to setup the browser to use our JMeter listener as a local proxy
  • 42. Recording a Script Contd...
  • 43. Recording a Script Contd... • Now that we have captured all the pages to be visited, we can clean it all up. This is a good place to start. • Parametrize and add variables wherever possible and move the pages (samplers) to a Thread Group and build up our test plan.
  • 44. Recording a script Contd...• An easier way is to use BadBoy software to capture the pages and export to JMeter. Download and install Badboy software from http://www.badboy.com.au/download/send?svId=124
  • 45. Recording a Script Contd...
  • 46. Real life Test Scenario • Our App Servers kept crashing on heavy load days. We had to constantly restart the servers, bringing down all the web users along with it. After making some changes to the application, had to simulate the huge load on the servers to test if it will sustain the next tax season. After reviewing various tools, we chose JMEter.
  • 47. Real life Test scenario Contd... • When we upgraded our infrastructure* recently, we used JMEter to compare old environment and new environment for performance. We ran the same set of scripts against old and new environments to identify any bottlenecks. * We upgrade to PowerBuilder 12.5, Oracle to 11g, Windows servers to Windows 2008.
  • 48. Real life Test scenario Contd... • Our Web application did an overkill of logging in the database. We had a maximum concurrent user limit set to 300 in Oracle. We wanted to increase that. • To help with the tweaking, I ran JMeter scripts that pushed the EAServers to connect to the database continuously to make the database run out of handles - sort of stressing the database to its limits. We were able to tweak the setting and retest for the load condition. • Eventually, I refactored the code to reduce these loggings. Of course, JMeter came to the rescue again!
  • 49. Demo
  • 50. Q&A