SlideShare a Scribd company logo
Performance Testing


Jmeter 2.6
The load testing tool




By Bhojan Rajan
What is Performance testing?

 Performance testing is an non-functional testing performed to determine how
a system performs in terms of responsiveness and stability under a particular
workload. It can also serve to investigate, measure, validate or verify other quality
attributes of the system, such as scalability, reliability and resource usage

          GOAL/OBJECTIVE IS TO FIND THE BOTTLE NECK IN THE SYSTEM
What are the types of Performance Testing?

Load/Capacity Testing                 Stress Testing             Volume Testing




             Endurance/Soak Testing                    Spike
                                                       Testing
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 load.
This load can be the expected concurrent number of users on the application
performing a specific number of transactions within the set duration. This test will give
out 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
Bottle neck

A bottleneck is a phenomenon where the performance or capacity of an entire system
is limited by a single or limited number of components or resources.

Your web application can consist of several modules used to process request. If one
of them has technical limitation, it limits the performance of the whole system

Bottleneck in the application can be identified by performing the load test with the
defined concurrent user load for various scenarios.
Stress Testing

Every system has a capacity limit. When the load goes beyond the limit, the web site
starts responding very slowly and even produce errors.

The purpose of the stress testing is to find the capacity limit of the system. In we can
verify at which point of time the system degrades or fails. Usually done by increasing
the user load in the system.
Volume Testing

Volume testing is done against the efficiency of the application. Huge amount of data
is processed through the application (which is being tested) in order to check the
extreme limitations of the system.

The limitation will be concluded upon the slow in the system performance and the
failure in the application.
Endurance Testing

This type of testing is used to check that the system can withstand the load for a long
or large number of transaction.

Test will be performed with defined set of concurrent users for a prolonged period of
time, say for example 5 to 10 hours or 2 to 3 days.
Spike Testing

Spike testing is done by suddenly increasing the number of load generated by, users
by a very large amount and observing the behavior of the system. The goal is to
determine the performance degrade, system failure or it will be able to handle
dramatic changes in load.

Say for example, test will be initiated with 200 concurrent user for a certain period of
time, suddenly the concurred user load will be increased to 1000 and the system
performance will be monitored. Like wise the user load will be decreased to 200
concurrent users and verify the system returns to normal operation and retaining the
performance as initiated.
Pre-requisites

•     NFR document should be available – It will provide you the expected Response time and
      required Concurrent user load, Scenarios to be tested and other performance attributes.
•     Dedicated Performance test environment should be ready in place.
•     Scalability on the test environment to the actual production environment should be
      available.
•     Gather the environment details like App, Web and DB servers configurations and their
      capacity.
•     Performance Test approach document should be ready and sing-off from the stake
      holders.
Load Testing Tools
o    Load Runner, commercial load testing tool from HP
o    JMeter, an open source tool from Appache
o    RPT, commercial load test tool from IBM
o    NeoLoad, commercial, for Windows, Linux, Solaris
o    Microsoft Visual Studio Team System 2010, commercial, for Windows, which includes Load
     Test Analyzer and Load Test Monitor tools.
o    OpenLoad, commercial load testing tool and hosted service
o    OpenSTA, an open source tool
o    PureLoad, commercial, multiplatform load testing tool
o    PushToTest TestMaker, an open source testing framework (load testing and more)
o    QEngine, free and commercial, from AdventNet (free edition supports 5 virtual users)
o    SQLQueryStress Performance Testing Tool, free, for testing SQL Server StressIT, commercial
     and free
o    The Grinder, an open source tool
o    Flood, open source from and for Apache
o    WAPT, Web Application Testing tool, a commercial product, for Windows
o    WatchMouse, commercial hosted load testing service
o    WebKing, commercial, multiplatform
o    WebServer Stress Tool, commercial and free, from Paessler
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 compare to other tools.
 Full multithreading framework allows concurrent sampling by many threads and
  simultaneous sampling of different functions by separate thread groups.
 Caching and Cookies can be enabled and it impact as such as it is executing in the web
  browser.
 Controllers are configurable and can monitor the server performance.
 Test results are more reliable compare to other open source tools.
 Test results can be captured in various format like summary report, Graph, Aggregate
  report, Aggregate graph, Results in tree and Results in Table.
Installing Jmeter

•     Install Java (2.2. or higher)
•     Download JMeter http://jakarta.apache.org/site/downloads/index.html
•     Add path of java installation in environment path variables.
Running JMeter In Windows

 Open command prompt (user administrative mode to avoid unnecessary hassle).
 Traverse to [jmeter installation path]bin
 Run Jmeter.bat
Elements of Test Plans

•    Thread Group
       – 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)
•    Listener
       – Graph Result
       – View Results Tree and many more.
•    Timers
       – Delay next request for certain amount of time



                                                                Continue….
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
Creating web test plan
Creating web test plan
Creating web test plan
Adding users

•    5 users send 2 requests on cfminds.com and repeat it twice. (5 users x 2 requests x 2
     repeat = 20 requests)
•    Right click on test note >> Add >> Thread (users) >> Thread Group
Add default http request

•    You can add default http request setting from ADD >> Config Element >> HTTP request
     default.
•    This will let you define default http parameter for every request.
Adding HTTP Request element

•    You can add it from ADD> Sampler >> HTTP Request
Adding Listner to view Result

•    Listner responsible for storing all of the results of our HTTP request and presenting in
     Visualize mode.
DEMO
Graph Comparison (5 Users VS 50 Users)




         5 Users




                                         50 Users
Test Summary


               5 Users




               50 Users
Recording your Test Plan
Recording Your Test Plan

•    JMeter Proxy can use to record all request send to server.
•    Create test plan with default http testing
•    Add HTTP Proxy Server in Workbench node.
      – Define port# of proxy server
      – Define URL Pattern to include/exclude
            • .*.jpg
            • .*.js
            • .*.png
            • .*.gif
            • .*.jsp
            • .*.css
            • .*.txt
            • .*.ejs
            • .*.eot
•    Start Proxy server.
Recording Your Test Plan

•   Setup Proxy server on your browser.




•   Start Recording using the Web Browser.
•   All the Request will be captured in the Test plan.
Controlling request logic

•     Logic Controllers can be used to control flow.
Parameterization
Parameterization

•    Create CSV file with list of username and password
•    Store in same folder where your test stores
•    Add CSV Data set into your test tree from config elements
•    Add ${USER},${PASS} in request sampler as parameter.
Correlation
Correlation

•    Correlation is used to obtain data which is unique for each run of your test script (ex:
     session ids). While recording, these dynamic values are hard-coded in your script causing
     the script to fail during playback. Correlation is a technique where dynamic values are not
     hard-coded in your script but are extracted at run-time to avoid failure
•    Correlation will be done using the Regular Expression Extractor in Jmeter.

Sample of Regular Expression and Usage:
• ([^"]+)     to correlate whole url/dynamic id
    – Ex: Edmiijkn11124mmk

•    SessionID=(.+?)&  to correlate the url/dynamic id between 2 parameter. Here it’s
     between ‘SessionID=‘ and ‘&’ Need to be use if
      – EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2

•    orderID=(.+)  to correlate the url;/dynamic id after the defined parameter. Here it’s
     after ‘orderID=’
      – EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2
Correlation - Regular Expression Extractor

Right click the node/url > Add > Post Processor > Regular Expression Extractor

Defining Regular Expression Extractor:
Reference name: Regex
Regular Expression : ([^"]+)
Template        : $1$
Match no : 1
Hint:
1. Need to tag/replace the reference name Regex by ${Regex} in the URL /Dynamic Id.
2. Regular expression can be done before URL where the Dynamic Id/URL you found.
Correlation
Assertion
Response Assertion

• Allow you to assert fact about responses received from HTTP request
  ADD> Assertion >> Response Assertion
Assertion Result

• Assertion result provide you the exact response for the request
  ADD> Listener >> Assertion Result
Monitor Sever Performance
HTTP Authorization Manager

ADD> Config Element >> HTTP Authorization Manager
App/DB/Web Server configuration

ADD> Sampler >> HTTP Request
•Name the http request as Server Status, Provide the server IP and port
•Mention “/manager/status” in the path
Constant Timer

ADD> Timer >> Constant Timer
Setting up the Data Writer

ADD> Listener >> Simple Data Writer
Setting up monitor results

ADD> Listener >> Monitor Results
Distributed Testing
Distributed Test Environment


           VM 2
           Slave
                                      Target

           VM 3
           Slave




 VM 1      VM 4
Master     Slave                      Web Server



           VM 5
           Slave



                         Master: The system running Jmeter GUI which control the test.
           VM n
           Slave
                         Slave: The System running Jmeter-server which takes commends from
                         the GUI and send the requests to the target system.

                         Target: The Web Server planned for the load test.
Jmeter Distributed Testing

•    JMeter client machine may not able to simulate enough users to stress server.
•    Control multiple machine to run JMeter without copying test samples to different
     machine.
•    Configuration:
      – Copy same version of JMeter to different computer.
      – Add remote node IP in JMeter.proeprties file.
      – Run JMeter on remote machine using /JMETER_HOME/bin/jmeter-server (in
         command prompt)
      – Start JMeter GUI in host machine.
      – Select any test plan.
      – Go to Run >> Remote Start >> Remote IP Address.
DEMO
Thank you
Ad

More Related Content

What's hot (20)

Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
Shub
 
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
Jay Jha
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
Billa Kota Sriram
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
Sam Varadarajan
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
Adam Goucher
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
Sam Varadarajan
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
Manoj Shankaramanchi
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
Rachappa Bandi
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
SWAAM Tech
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Tharinda Liyanage
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
Bhuvaneswari Subramani
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
Amit Solanki
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
Knoldus Inc.
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
Shub
 
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
Jay Jha
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
Adam Goucher
 
Performance Testing Using JMeter | Edureka
Performance Testing Using JMeter | EdurekaPerformance Testing Using JMeter | Edureka
Performance Testing Using JMeter | Edureka
Edureka!
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
Prashanth Kumar
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
Rachappa Bandi
 
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
Neill Lima
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
SWAAM Tech
 
Performance testing and reporting with JMeter
Performance testing and reporting with JMeterPerformance testing and reporting with JMeter
Performance testing and reporting with JMeter
jvSlideshare
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
Tharinda Liyanage
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
sharadkjain
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
Amit Solanki
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
Kumar Gupta
 
Performance testing with jmeter
Performance testing with jmeter Performance testing with jmeter
Performance testing with jmeter
Knoldus Inc.
 

Similar to Performance testing jmeter (20)

Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
Purna Chandar
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02
Gopi Raghavendra
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)
QA Programmer
 
JMeter_introduction_Final.ppt for jmeter
JMeter_introduction_Final.ppt for jmeterJMeter_introduction_Final.ppt for jmeter
JMeter_introduction_Final.ppt for jmeter
shwetaykperf
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
Nitish Bhardwaj
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
isummation
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
Skillwise Consulting
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
Tharinda Liyanage
 
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
Vladimir Ilic
 
JMeter
JMeterJMeter
JMeter
Md Samsul Kabir
 
Performance testing
Performance testingPerformance testing
Performance testing
Chalana Kahandawala
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
Muhammad Shehata
 
J meter introduction
J meter introductionJ meter introduction
J meter introduction
Bharath Kumar
 
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
David O'Dowd
 
Jmeter_Presentaion_Parag
Jmeter_Presentaion_ParagJmeter_Presentaion_Parag
Jmeter_Presentaion_Parag
PARAG KHEDIKAR
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
Qspiders - Software Testing Training Institute
 
08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt
pspc139
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
krishna chaitanya
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
Purna Chandar
 
performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02performancetestingjmeter-121109061704-phpapp02
performancetestingjmeter-121109061704-phpapp02
Gopi Raghavendra
 
performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)performancetestingjmeter-121109061704-phpapp02 (1)
performancetestingjmeter-121109061704-phpapp02 (1)
QA Programmer
 
JMeter_introduction_Final.ppt for jmeter
JMeter_introduction_Final.ppt for jmeterJMeter_introduction_Final.ppt for jmeter
JMeter_introduction_Final.ppt for jmeter
shwetaykperf
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
Nitish Bhardwaj
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
isummation
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
Tharinda Liyanage
 
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
Vladimir Ilic
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
Muhammad Shehata
 
J meter introduction
J meter introductionJ meter introduction
J meter introduction
Bharath Kumar
 
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
David O'Dowd
 
Jmeter_Presentaion_Parag
Jmeter_Presentaion_ParagJmeter_Presentaion_Parag
Jmeter_Presentaion_Parag
PARAG KHEDIKAR
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
Suresh Mishra
 
08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt08-Performence_Testing Project Explain.ppt
08-Performence_Testing Project Explain.ppt
pspc139
 
Performance testing and j meter overview
Performance testing and j meter overviewPerformance testing and j meter overview
Performance testing and j meter overview
krishna chaitanya
 
Ad

Recently uploaded (20)

Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Ad

Performance testing jmeter

  • 1. Performance Testing Jmeter 2.6 The load testing tool By Bhojan Rajan
  • 2. What is Performance testing? Performance testing is an non-functional testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage GOAL/OBJECTIVE IS TO FIND THE BOTTLE NECK IN THE SYSTEM
  • 3. What are the types of Performance Testing? Load/Capacity Testing Stress Testing Volume Testing Endurance/Soak Testing Spike Testing
  • 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 load. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. This test will give out 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. Bottle neck A bottleneck is a phenomenon where the performance or capacity of an entire system is limited by a single or limited number of components or resources. Your web application can consist of several modules used to process request. If one of them has technical limitation, it limits the performance of the whole system Bottleneck in the application can be identified by performing the load test with the defined concurrent user load for various scenarios.
  • 6. Stress Testing Every system has a capacity limit. When the load goes beyond the limit, the web site starts responding very slowly and even produce errors. The purpose of the stress testing is to find the capacity limit of the system. In we can verify at which point of time the system degrades or fails. Usually done by increasing the user load in the system.
  • 7. Volume Testing Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system. The limitation will be concluded upon the slow in the system performance and the failure in the application.
  • 8. Endurance Testing This type of testing is used to check that the system can withstand the load for a long or large number of transaction. Test will be performed with defined set of concurrent users for a prolonged period of time, say for example 5 to 10 hours or 2 to 3 days.
  • 9. Spike Testing Spike testing is done by suddenly increasing the number of load generated by, users by a very large amount and observing the behavior of the system. The goal is to determine the performance degrade, system failure or it will be able to handle dramatic changes in load. Say for example, test will be initiated with 200 concurrent user for a certain period of time, suddenly the concurred user load will be increased to 1000 and the system performance will be monitored. Like wise the user load will be decreased to 200 concurrent users and verify the system returns to normal operation and retaining the performance as initiated.
  • 10. Pre-requisites • NFR document should be available – It will provide you the expected Response time and required Concurrent user load, Scenarios to be tested and other performance attributes. • Dedicated Performance test environment should be ready in place. • Scalability on the test environment to the actual production environment should be available. • Gather the environment details like App, Web and DB servers configurations and their capacity. • Performance Test approach document should be ready and sing-off from the stake holders.
  • 11. Load Testing Tools o Load Runner, commercial load testing tool from HP o JMeter, an open source tool from Appache o RPT, commercial load test tool from IBM o NeoLoad, commercial, for Windows, Linux, Solaris o Microsoft Visual Studio Team System 2010, commercial, for Windows, which includes Load Test Analyzer and Load Test Monitor tools. o OpenLoad, commercial load testing tool and hosted service o OpenSTA, an open source tool o PureLoad, commercial, multiplatform load testing tool o PushToTest TestMaker, an open source testing framework (load testing and more) o QEngine, free and commercial, from AdventNet (free edition supports 5 virtual users) o SQLQueryStress Performance Testing Tool, free, for testing SQL Server StressIT, commercial and free o The Grinder, an open source tool o Flood, open source from and for Apache o WAPT, Web Application Testing tool, a commercial product, for Windows o WatchMouse, commercial hosted load testing service o WebKing, commercial, multiplatform o WebServer Stress Tool, commercial and free, from Paessler
  • 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 compare to other tools.  Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.  Caching and Cookies can be enabled and it impact as such as it is executing in the web browser.  Controllers are configurable and can monitor the server performance.  Test results are more reliable compare to other open source tools.  Test results can be captured in various format like summary report, Graph, Aggregate report, Aggregate graph, Results in tree and Results in Table.
  • 13. Installing Jmeter • Install Java (2.2. or higher) • Download JMeter http://jakarta.apache.org/site/downloads/index.html • Add path of java installation in environment path variables.
  • 14. Running JMeter In Windows  Open command prompt (user administrative mode to avoid unnecessary hassle).  Traverse to [jmeter installation path]bin  Run Jmeter.bat
  • 15. Elements of Test Plans • Thread Group – 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) • Listener – Graph Result – View Results Tree and many more. • Timers – Delay next request for certain amount of time Continue….
  • 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
  • 20. Adding users • 5 users send 2 requests on cfminds.com and repeat it twice. (5 users x 2 requests x 2 repeat = 20 requests) • Right click on test note >> Add >> Thread (users) >> Thread Group
  • 21. Add default http request • You can add default http request setting from ADD >> Config Element >> HTTP request default. • This will let you define default http parameter for every request.
  • 22. Adding HTTP Request element • You can add it from ADD> Sampler >> HTTP Request
  • 23. Adding Listner to view Result • Listner responsible for storing all of the results of our HTTP request and presenting in Visualize mode.
  • 24. DEMO
  • 25. Graph Comparison (5 Users VS 50 Users) 5 Users 50 Users
  • 26. Test Summary 5 Users 50 Users
  • 28. Recording Your Test Plan • JMeter Proxy can use to record all request send to server. • Create test plan with default http testing • Add HTTP Proxy Server in Workbench node. – Define port# of proxy server – Define URL Pattern to include/exclude • .*.jpg • .*.js • .*.png • .*.gif • .*.jsp • .*.css • .*.txt • .*.ejs • .*.eot • Start Proxy server.
  • 29. Recording Your Test Plan • Setup Proxy server on your browser. • Start Recording using the Web Browser. • All the Request will be captured in the Test plan.
  • 30. Controlling request logic • Logic Controllers can be used to control flow.
  • 32. Parameterization • Create CSV file with list of username and password • Store in same folder where your test stores • Add CSV Data set into your test tree from config elements • Add ${USER},${PASS} in request sampler as parameter.
  • 34. Correlation • Correlation is used to obtain data which is unique for each run of your test script (ex: session ids). While recording, these dynamic values are hard-coded in your script causing the script to fail during playback. Correlation is a technique where dynamic values are not hard-coded in your script but are extracted at run-time to avoid failure • Correlation will be done using the Regular Expression Extractor in Jmeter. Sample of Regular Expression and Usage: • ([^"]+)  to correlate whole url/dynamic id – Ex: Edmiijkn11124mmk • SessionID=(.+?)&  to correlate the url/dynamic id between 2 parameter. Here it’s between ‘SessionID=‘ and ‘&’ Need to be use if – EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2 • orderID=(.+)  to correlate the url;/dynamic id after the defined parameter. Here it’s after ‘orderID=’ – EX: SessionID=jkjoujn434897h3jh35y9h&OrderID=ikikikke99874kmnjhh2
  • 35. Correlation - Regular Expression Extractor Right click the node/url > Add > Post Processor > Regular Expression Extractor Defining Regular Expression Extractor: Reference name: Regex Regular Expression : ([^"]+) Template : $1$ Match no : 1 Hint: 1. Need to tag/replace the reference name Regex by ${Regex} in the URL /Dynamic Id. 2. Regular expression can be done before URL where the Dynamic Id/URL you found.
  • 38. Response Assertion • Allow you to assert fact about responses received from HTTP request ADD> Assertion >> Response Assertion
  • 39. Assertion Result • Assertion result provide you the exact response for the request ADD> Listener >> Assertion Result
  • 41. HTTP Authorization Manager ADD> Config Element >> HTTP Authorization Manager
  • 42. App/DB/Web Server configuration ADD> Sampler >> HTTP Request •Name the http request as Server Status, Provide the server IP and port •Mention “/manager/status” in the path
  • 43. Constant Timer ADD> Timer >> Constant Timer
  • 44. Setting up the Data Writer ADD> Listener >> Simple Data Writer
  • 45. Setting up monitor results ADD> Listener >> Monitor Results
  • 47. Distributed Test Environment VM 2 Slave Target VM 3 Slave VM 1 VM 4 Master Slave Web Server VM 5 Slave Master: The system running Jmeter GUI which control the test. VM n Slave Slave: The System running Jmeter-server which takes commends from the GUI and send the requests to the target system. Target: The Web Server planned for the load test.
  • 48. Jmeter Distributed Testing • JMeter client machine may not able to simulate enough users to stress server. • Control multiple machine to run JMeter without copying test samples to different machine. • Configuration: – Copy same version of JMeter to different computer. – Add remote node IP in JMeter.proeprties file. – Run JMeter on remote machine using /JMETER_HOME/bin/jmeter-server (in command prompt) – Start JMeter GUI in host machine. – Select any test plan. – Go to Run >> Remote Start >> Remote IP Address.
  • 49. DEMO