SlideShare a Scribd company logo
1 of 46
Performance testing determines /validates
Speed

Stability
Scalability
What we measure:

Response
times

Throughput

Resource
utilization
Load testing
Determine a system’s behavior under
normal conditions
anticipated peak load conditions
Used to identify:
 maximum operating capacity
 bottlenecks
 which element is causing degradation
Stress testing
Load the system to its breakpoint

Used to identify the system break point

It’s important to monitor how the system breaks and
recovers
Volume testing
Testing a system with a certain amount of data. Usually
includes high data and throughput volumes

Endurance testing

Testing a system under load for an extended period of
time to establish stability and behavior under sustained
use
Using JMeter to test performance of my web
application while having 100 concurrent logins
It’s not the first login for the user, so that some elements (like images,
css, js) are already cached in browser

1. System Configuration
2. Scenario to register with JMeter: the user logs into application
 Add a Thread Group to the Test Plan






Test Plan - for containing the tests
Thread Group - for representing users
Select Test Plan
Add-> Threads->Thread Group

Add a Recording Controller to the Thread Group

 Controllers – for grouping and applying logic
to test items
 Select Thread Group
 Add -> Logic Controller-> Recording Controller
 Add a HTTP Proxy server to the WorkBench

 WorkBench - used for temporary items
Add-> Non-Test Elements -> HTTP Proxy server
configure it to use the recording controller
 Configure your browser to use the proxy and start the proxy server
 Open the browser, enter address for login page, login with the user
The following HTTP requests are registered into Recording Controller

The login action for a permanent teacher is made by 3 HTTP requests:
 accessing the login page
 entering the credential and the effective login
 redirect action to a default page
The login credentials are automatically saved for the second request,
Which is the effective login step
Obs 1: Make sure that you really do the action you think you are

 Check that the login effectively succeeded
For this, add a View Results Tree listener to the Recording controller

 Listeners - for display of data
 Add -> Listener -> View Results Tree
 Re-run the test and look to see the page where we are redirected
We can observe that, in fact the login didn’t succeed and we are
still in the login page
 Add a HTTP Cache manager to the recording controller and rerun the test
Configuration element - can modify requests
Add-> Config Element-> HTTP Cookie Manager
 Add Listeners to see statistics of the execution

First install JMeter Plugins
 From http://jmeter-plugins.org/downloads/all/ download the
JMeterPlugins-1.1.0.zip
 Copy JMeterPlugins.jar file from JMeterPlugins-1.1.0.zip inside
JMETER_INSTALL_DIR/lib/ext, for example to c:jmeterlibext in case
of windows installation
 Restart JMeter and see jp@gc-prefixed plugins in menus
Then add the Listeners
 Select Thread Group
 Add -> Listener and add the following listeners:

 Active Threads Over Time
 Transactions per Second
 Response Times vs Threads
 Summary Report
 In Thread Group enter the following values and re-run the test
Number of concurrent users = 100
Ramp-up period = 10
Loop Count = 1
 The ramp-up period tells JMeter how long to take to "ramp-up" to
the full number of threads chosen
 If 100 threads are used, and the ramp-up period is 10 seconds,
then JMeter will take 10 seconds to get all 100 threads up and
running
 Theoretically, each thread will start 0.1(10/100) seconds after the
previous thread was begun
The ramp-up should be:
 long enough to avoid too large a work-load at the start of a test
 short enough that the last threads start running before the first
ones finish
Obs 2: Make sure that you really get the desired load

If we analyze the data, we see that the maximum number of concurrent
threads is 57, not 100!
Obs 3: Make sure that the results refer to the entire transaction

 When looking into the other graphs/reports we see that for each of the
three requests is generated a line
In Summary Report, for each child request was generated a line

But in this case we are interested by the total time, which refers to the
entire login transaction
 We are interested in having 100 concurrent users and to evaluate the
entire login transaction (which is composed by all the three requests)
So we’ll do the following changes:
 In Thread Group check Forever for execution
 Select Recording Controller and Change it to Transaction Controller
 Select the Transaction Controller, check Generate parent sample and
uncheck the second option, then re-run the test

The statistics in reports refer now to the entire transaction
 Wait to obtain 100 concurrent threads in Active Threads Over Time
report, then wait for a while before stopping the execution
Observations (after stopping the execution):
 The test has run for about 40 sec
 100 concurrent users were obtained after 10 sec
 The next 30 sec were used to obtain statistics, in different graphics.
The number of users remained 100 until the test was manually stopped
If you consider that the chosen period of time (40 sec) is good enough
to get significant trends then use this value as execution time
 In Thread Group enter 40 in Duration(seconds) field and re-run the
tests
3. Analyze the results
Active Threads Over Time:
 how many active threads are in each thread group during test run
 Theoretically, each thread will start 0.1(10/100)
seconds after the previous thread was begun

 Practically, the start of each
thread depends on
factors like available resources
(e.g. machine CPU), by the load
created by the other threads and
so on, so that differences may
appear
Transactions per second
The load generated by the100 concurent users during 40 seconds
created a number of maximum 16 concurrent transactions/seconds

Obs 4: 100 concurrent users/threads don’t mean 100 concurrent
transactions
 The response times vary between 1.5 sec when having 15 active
threads and almost 20 sec when reaching 100 active threads
Response Time - Time to last byte

 Time from the moment the request was sent till the last resource is
finished downloading

Response Latency

- Time to first byte

 Time from the moment the request was sent till the first byte of the
first resource is received back
Response Time

Response Latency

Time to last byte

Time to first byte
Summary Report

 Samples – the number of samples with same label
A sample mean one sampler call, in our case – one login transaction
 Average
 The average time taken to receive the destination web page
(where the user is redirected after login)
 In our case there were 238 values of receiving time which were
added and divided by 238
 Min and Max
The minimum and maximum value of time required for receiving the
destination web page
 Std. Dev
How many exceptional cases were found which were deviating from
the average value of the receiving time. The lesser this value more
consistent the time pattern is assumed
Error %
Indicates the percentage of error
Avg. Bytes
Average size of the sample response in bytes
 Throughput

 Calculated as requests/unit of time
 The time is calculated from the start of the first sample to the end of
the last sample. This includes any intervals between samples, as it is
supposed to represent the load on the server
In our case:
The Average Bytes = 5167.7 Bytes ~ 5.046 KB
 KB/sec = 30.18
Throughput = 30.18 /5.046 ~ 6 requests/seconds
One transaction request has an average size of 5.046 KB and there
were registered 30.18 KB/sec => this means there were about 6
requests per second
 Monitor the server resources
Add listener to Thread Group
Add-> Listener-> Perf Monitor Collector
On server configure a Server Agent to retrieve data for the report
http://jmeter-plugins.org/wiki/PerfMonAgent/

CPU: between 77.37% and 100%
Memory: between 27% and 80%
Network I/O : between 0 and 19744 bytes/s
Record TestCase
Check operation success

Are you really doing the
action you think you are?

Add reports / graphics
Check the number of
concurrent users

Are you really getting the
desired load?

Check transaction data in
graphics

Are the results referring to
the entire transaction?

Choose the execution time
Re-run tests and analyze
the results
Bibliography:
1. http://jmeter-expert.blogspot.ro/
2. http://www.slideshare.net/vivizam/how-to-analyze-reports-in-jmeter
3. http://stackoverflow.com/questions/346788/difference-between-baseline-and-benchmark-inperformance-of-an-application
4. http://www.performancetesting.co.za/Baseline%20Testing.htm
5. https://en.wikipedia.org/wiki/Load_testing
6. http://stackoverflow.com/questions/8397700/jmeter-response-time-calculation
7. http://stackoverflow.com/questions/12303535/meaning-and-calculation-formulas-for-processingtime-latency-and-response-time
8. http://blazemeter.com/blog/load-testing-mobile-apps-made-easy (mobile)
9. https://a.blazemeter.com/node/add/jcs?status=trial&rnd=1380662288 (mobile)
10. http://jmeter-plugins.org/wiki/PerfMonAgent/
Please fill in your evaluation form
Performance testing for Web applications with JMeter
Codruta Salomia

codrutasalomia@yahoo.com
12th of October 2013

More Related Content

Viewers also liked

Dan Piciorus - What's inside gis
Dan Piciorus - What's inside gisDan Piciorus - What's inside gis
Dan Piciorus - What's inside gisCodecamp Romania
 
Codecamp iasi-26 nov 2011-what's new in jpa 2.0
Codecamp iasi-26 nov 2011-what's new in jpa 2.0Codecamp iasi-26 nov 2011-what's new in jpa 2.0
Codecamp iasi-26 nov 2011-what's new in jpa 2.0Codecamp Romania
 
Codecamp iasi-26 nov 2011 - agile planning-invest in stories
Codecamp iasi-26 nov 2011 - agile planning-invest in storiesCodecamp iasi-26 nov 2011 - agile planning-invest in stories
Codecamp iasi-26 nov 2011 - agile planning-invest in storiesCodecamp Romania
 
2015 dan ardelean develop for windows 10
2015 dan ardelean   develop for windows 10 2015 dan ardelean   develop for windows 10
2015 dan ardelean develop for windows 10 Codecamp Romania
 
Dan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaDan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaCodecamp Romania
 
CodeCamp 10nov2012 Iasi- The Sponsors In A Few Slides
CodeCamp 10nov2012 Iasi- The Sponsors In A Few SlidesCodeCamp 10nov2012 Iasi- The Sponsors In A Few Slides
CodeCamp 10nov2012 Iasi- The Sponsors In A Few SlidesCodecamp Romania
 
Iasi code camp 12 october 2013 surviving in complex systems using agility -...
Iasi code camp 12 october 2013   surviving in complex systems using agility -...Iasi code camp 12 october 2013   surviving in complex systems using agility -...
Iasi code camp 12 october 2013 surviving in complex systems using agility -...Codecamp Romania
 
Tiberiu Covaci - Fast, Faster: Async Asp.net
Tiberiu Covaci - Fast, Faster: Async Asp.netTiberiu Covaci - Fast, Faster: Async Asp.net
Tiberiu Covaci - Fast, Faster: Async Asp.netCodecamp Romania
 
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010Extendable architecture for intelligent navigation systems - CodeCamp16oct2010
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010Codecamp Romania
 
Encapsulation CodeCampIasi 16 oct 2010
Encapsulation CodeCampIasi 16 oct 2010Encapsulation CodeCampIasi 16 oct 2010
Encapsulation CodeCampIasi 16 oct 2010Codecamp Romania
 
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodecamp Romania
 
CodeCamp Iasi 10 march 2012 - SolvingThePuzzle
CodeCamp Iasi 10 march 2012 - SolvingThePuzzleCodeCamp Iasi 10 march 2012 - SolvingThePuzzle
CodeCamp Iasi 10 march 2012 - SolvingThePuzzleCodecamp Romania
 
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschi
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschiIasi code camp 12 october 2013 responsive images in the wild-vlad zelinschi
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschiCodecamp Romania
 
Iasi code camp 20 april 2013 mihai nadas hadoop azure
Iasi code camp 20 april 2013 mihai nadas hadoop azureIasi code camp 20 april 2013 mihai nadas hadoop azure
Iasi code camp 20 april 2013 mihai nadas hadoop azureCodecamp Romania
 
CodeCamp Iasi 10 march 2012 - UTF-8
CodeCamp Iasi 10 march 2012 - UTF-8CodeCamp Iasi 10 march 2012 - UTF-8
CodeCamp Iasi 10 march 2012 - UTF-8Codecamp Romania
 
Codecamp iasi 26 nov 2011-endava keynote slides
Codecamp iasi 26 nov 2011-endava keynote slidesCodecamp iasi 26 nov 2011-endava keynote slides
Codecamp iasi 26 nov 2011-endava keynote slidesCodecamp Romania
 
Alex Terente - Introduction to iOS
Alex Terente - Introduction to iOSAlex Terente - Introduction to iOS
Alex Terente - Introduction to iOSCodecamp Romania
 

Viewers also liked (17)

Dan Piciorus - What's inside gis
Dan Piciorus - What's inside gisDan Piciorus - What's inside gis
Dan Piciorus - What's inside gis
 
Codecamp iasi-26 nov 2011-what's new in jpa 2.0
Codecamp iasi-26 nov 2011-what's new in jpa 2.0Codecamp iasi-26 nov 2011-what's new in jpa 2.0
Codecamp iasi-26 nov 2011-what's new in jpa 2.0
 
Codecamp iasi-26 nov 2011 - agile planning-invest in stories
Codecamp iasi-26 nov 2011 - agile planning-invest in storiesCodecamp iasi-26 nov 2011 - agile planning-invest in stories
Codecamp iasi-26 nov 2011 - agile planning-invest in stories
 
2015 dan ardelean develop for windows 10
2015 dan ardelean   develop for windows 10 2015 dan ardelean   develop for windows 10
2015 dan ardelean develop for windows 10
 
Dan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with JavaDan Vulpe - JavaFX 2 - Developing RIA with Java
Dan Vulpe - JavaFX 2 - Developing RIA with Java
 
CodeCamp 10nov2012 Iasi- The Sponsors In A Few Slides
CodeCamp 10nov2012 Iasi- The Sponsors In A Few SlidesCodeCamp 10nov2012 Iasi- The Sponsors In A Few Slides
CodeCamp 10nov2012 Iasi- The Sponsors In A Few Slides
 
Iasi code camp 12 october 2013 surviving in complex systems using agility -...
Iasi code camp 12 october 2013   surviving in complex systems using agility -...Iasi code camp 12 october 2013   surviving in complex systems using agility -...
Iasi code camp 12 october 2013 surviving in complex systems using agility -...
 
Tiberiu Covaci - Fast, Faster: Async Asp.net
Tiberiu Covaci - Fast, Faster: Async Asp.netTiberiu Covaci - Fast, Faster: Async Asp.net
Tiberiu Covaci - Fast, Faster: Async Asp.net
 
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010Extendable architecture for intelligent navigation systems - CodeCamp16oct2010
Extendable architecture for intelligent navigation systems - CodeCamp16oct2010
 
Encapsulation CodeCampIasi 16 oct 2010
Encapsulation CodeCampIasi 16 oct 2010Encapsulation CodeCampIasi 16 oct 2010
Encapsulation CodeCampIasi 16 oct 2010
 
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphereCodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
CodeCamp Iasi 10 march 2012 - websockets-with-atmosphere
 
CodeCamp Iasi 10 march 2012 - SolvingThePuzzle
CodeCamp Iasi 10 march 2012 - SolvingThePuzzleCodeCamp Iasi 10 march 2012 - SolvingThePuzzle
CodeCamp Iasi 10 march 2012 - SolvingThePuzzle
 
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschi
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschiIasi code camp 12 october 2013 responsive images in the wild-vlad zelinschi
Iasi code camp 12 october 2013 responsive images in the wild-vlad zelinschi
 
Iasi code camp 20 april 2013 mihai nadas hadoop azure
Iasi code camp 20 april 2013 mihai nadas hadoop azureIasi code camp 20 april 2013 mihai nadas hadoop azure
Iasi code camp 20 april 2013 mihai nadas hadoop azure
 
CodeCamp Iasi 10 march 2012 - UTF-8
CodeCamp Iasi 10 march 2012 - UTF-8CodeCamp Iasi 10 march 2012 - UTF-8
CodeCamp Iasi 10 march 2012 - UTF-8
 
Codecamp iasi 26 nov 2011-endava keynote slides
Codecamp iasi 26 nov 2011-endava keynote slidesCodecamp iasi 26 nov 2011-endava keynote slides
Codecamp iasi 26 nov 2011-endava keynote slides
 
Alex Terente - Introduction to iOS
Alex Terente - Introduction to iOSAlex Terente - Introduction to iOS
Alex Terente - Introduction to iOS
 

Similar to Iasi code camp 12 october 2013 performance testing for web applications with j-meter- codrutasalomia

Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul 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
 
Jmeter interviewquestions
Jmeter interviewquestionsJmeter interviewquestions
Jmeter interviewquestionsgirichinna27
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov MaksymKuberton
 
Measuring Performance by Irfanullah
Measuring Performance by IrfanullahMeasuring Performance by Irfanullah
Measuring Performance by Irfanullahguest2e9811e
 
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
Performance testing and j meterPerformance testing and j meter
Performance testing and j meterPurna Chandar
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kckrishna chaitanya
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunnerKumar Gupta
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by TonnyAgate Studio
 
"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
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systemsguest61205606
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systemsguest0f5a7d
 
Apachejmeterabriefintroduction
ApachejmeterabriefintroductionApachejmeterabriefintroduction
ApachejmeterabriefintroductionForedoomed
 
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
 

Similar to Iasi code camp 12 october 2013 performance testing for web applications with j-meter- codrutasalomia (20)

Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 
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
 
Jmeter interviewquestions
Jmeter interviewquestionsJmeter interviewquestions
Jmeter interviewquestions
 
Chaos Testing of Microservices - Shalamov Maksym
 Chaos Testing of Microservices  - Shalamov Maksym Chaos Testing of Microservices  - Shalamov Maksym
Chaos Testing of Microservices - Shalamov Maksym
 
Measuring Performance by Irfanullah
Measuring Performance by IrfanullahMeasuring Performance by Irfanullah
Measuring Performance by Irfanullah
 
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
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Performance testing with loadrunner by kc
Performance testing with loadrunner by kcPerformance testing with loadrunner by kc
Performance testing with loadrunner by kc
 
Performance Testing using LoadRunner
Performance Testing using LoadRunnerPerformance Testing using LoadRunner
Performance Testing using LoadRunner
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by Tonny
 
Ch24 system administration
Ch24 system administration Ch24 system administration
Ch24 system administration
 
Ch24
Ch24Ch24
Ch24
 
Oracle Fixed Assets Testscripts
Oracle Fixed Assets TestscriptsOracle Fixed Assets Testscripts
Oracle Fixed Assets Testscripts
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Apachejmeterabriefintroduction
ApachejmeterabriefintroductionApachejmeterabriefintroduction
Apachejmeterabriefintroduction
 
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
 

More from Codecamp Romania

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experienceCodecamp Romania
 
Business analysis techniques exercise your 6-pack
Business analysis techniques   exercise your 6-packBusiness analysis techniques   exercise your 6-pack
Business analysis techniques exercise your 6-packCodecamp Romania
 
Bpm company code camp - configuration or coding with pega
Bpm company   code camp - configuration or coding with pegaBpm company   code camp - configuration or coding with pega
Bpm company code camp - configuration or coding with pegaCodecamp Romania
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseCodecamp Romania
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous deliveryCodecamp Romania
 
Stefan stolniceanu spritekit, 2 d or not 2d
Stefan stolniceanu   spritekit, 2 d or not 2dStefan stolniceanu   spritekit, 2 d or not 2d
Stefan stolniceanu spritekit, 2 d or not 2dCodecamp Romania
 
Sizing epics tales from an agile kingdom
Sizing epics   tales from an agile kingdomSizing epics   tales from an agile kingdom
Sizing epics tales from an agile kingdomCodecamp Romania
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...Codecamp Romania
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowCodecamp Romania
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in androidCodecamp Romania
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing careerCodecamp Romania
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu   the soft stuff is the hard stuff. the agile soft skills toolkitIonut grecu   the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkitCodecamp Romania
 
Diana antohi me against myself or how to fail and move forward
Diana antohi   me against myself  or how to fail  and move forwardDiana antohi   me against myself  or how to fail  and move forward
Diana antohi me against myself or how to fail and move forwardCodecamp Romania
 
Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp Romania
 

More from Codecamp Romania (20)

Cezar chitac the edge of experience
Cezar chitac   the edge of experienceCezar chitac   the edge of experience
Cezar chitac the edge of experience
 
Cloud powered search
Cloud powered searchCloud powered search
Cloud powered search
 
Ccp
CcpCcp
Ccp
 
Business analysis techniques exercise your 6-pack
Business analysis techniques   exercise your 6-packBusiness analysis techniques   exercise your 6-pack
Business analysis techniques exercise your 6-pack
 
Bpm company code camp - configuration or coding with pega
Bpm company   code camp - configuration or coding with pegaBpm company   code camp - configuration or coding with pega
Bpm company code camp - configuration or coding with pega
 
Andrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabaseAndrei prisacaru takingtheunitteststothedatabase
Andrei prisacaru takingtheunitteststothedatabase
 
Agility and life
Agility and lifeAgility and life
Agility and life
 
The bigrewrite
The bigrewriteThe bigrewrite
The bigrewrite
 
The case for continuous delivery
The case for continuous deliveryThe case for continuous delivery
The case for continuous delivery
 
Stefan stolniceanu spritekit, 2 d or not 2d
Stefan stolniceanu   spritekit, 2 d or not 2dStefan stolniceanu   spritekit, 2 d or not 2d
Stefan stolniceanu spritekit, 2 d or not 2d
 
Sizing epics tales from an agile kingdom
Sizing epics   tales from an agile kingdomSizing epics   tales from an agile kingdom
Sizing epics tales from an agile kingdom
 
Scale net apps in aws
Scale net apps in awsScale net apps in aws
Scale net apps in aws
 
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...Raluca butnaru corina cilibiu   the unknown universe of a product and the cer...
Raluca butnaru corina cilibiu the unknown universe of a product and the cer...
 
Parallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflowParallel & async processing using tpl dataflow
Parallel & async processing using tpl dataflow
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in android
 
Kickstart your own freelancing career
Kickstart your own freelancing careerKickstart your own freelancing career
Kickstart your own freelancing career
 
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu   the soft stuff is the hard stuff. the agile soft skills toolkitIonut grecu   the soft stuff is the hard stuff. the agile soft skills toolkit
Ionut grecu the soft stuff is the hard stuff. the agile soft skills toolkit
 
Ecma6 in the wild
Ecma6 in the wildEcma6 in the wild
Ecma6 in the wild
 
Diana antohi me against myself or how to fail and move forward
Diana antohi   me against myself  or how to fail  and move forwardDiana antohi   me against myself  or how to fail  and move forward
Diana antohi me against myself or how to fail and move forward
 
Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1Codecamp2015 pimp yourpipeline-saade-jens-1.1
Codecamp2015 pimp yourpipeline-saade-jens-1.1
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Iasi code camp 12 october 2013 performance testing for web applications with j-meter- codrutasalomia

  • 1.
  • 2.
  • 3. Performance testing determines /validates Speed Stability Scalability
  • 5. Load testing Determine a system’s behavior under normal conditions anticipated peak load conditions Used to identify:  maximum operating capacity  bottlenecks  which element is causing degradation
  • 6. Stress testing Load the system to its breakpoint Used to identify the system break point It’s important to monitor how the system breaks and recovers
  • 7. Volume testing Testing a system with a certain amount of data. Usually includes high data and throughput volumes Endurance testing Testing a system under load for an extended period of time to establish stability and behavior under sustained use
  • 8.
  • 9. Using JMeter to test performance of my web application while having 100 concurrent logins It’s not the first login for the user, so that some elements (like images, css, js) are already cached in browser 1. System Configuration
  • 10. 2. Scenario to register with JMeter: the user logs into application  Add a Thread Group to the Test Plan      Test Plan - for containing the tests Thread Group - for representing users Select Test Plan Add-> Threads->Thread Group Add a Recording Controller to the Thread Group  Controllers – for grouping and applying logic to test items  Select Thread Group  Add -> Logic Controller-> Recording Controller
  • 11.  Add a HTTP Proxy server to the WorkBench  WorkBench - used for temporary items Add-> Non-Test Elements -> HTTP Proxy server configure it to use the recording controller
  • 12.  Configure your browser to use the proxy and start the proxy server
  • 13.
  • 14.  Open the browser, enter address for login page, login with the user The following HTTP requests are registered into Recording Controller The login action for a permanent teacher is made by 3 HTTP requests:  accessing the login page  entering the credential and the effective login  redirect action to a default page The login credentials are automatically saved for the second request, Which is the effective login step
  • 15.
  • 16.
  • 17. Obs 1: Make sure that you really do the action you think you are  Check that the login effectively succeeded For this, add a View Results Tree listener to the Recording controller  Listeners - for display of data  Add -> Listener -> View Results Tree  Re-run the test and look to see the page where we are redirected
  • 18. We can observe that, in fact the login didn’t succeed and we are still in the login page
  • 19.  Add a HTTP Cache manager to the recording controller and rerun the test Configuration element - can modify requests Add-> Config Element-> HTTP Cookie Manager
  • 20.  Add Listeners to see statistics of the execution First install JMeter Plugins  From http://jmeter-plugins.org/downloads/all/ download the JMeterPlugins-1.1.0.zip  Copy JMeterPlugins.jar file from JMeterPlugins-1.1.0.zip inside JMETER_INSTALL_DIR/lib/ext, for example to c:jmeterlibext in case of windows installation  Restart JMeter and see jp@gc-prefixed plugins in menus
  • 21. Then add the Listeners  Select Thread Group  Add -> Listener and add the following listeners:  Active Threads Over Time  Transactions per Second  Response Times vs Threads  Summary Report
  • 22.  In Thread Group enter the following values and re-run the test Number of concurrent users = 100 Ramp-up period = 10 Loop Count = 1
  • 23.  The ramp-up period tells JMeter how long to take to "ramp-up" to the full number of threads chosen  If 100 threads are used, and the ramp-up period is 10 seconds, then JMeter will take 10 seconds to get all 100 threads up and running  Theoretically, each thread will start 0.1(10/100) seconds after the previous thread was begun The ramp-up should be:  long enough to avoid too large a work-load at the start of a test  short enough that the last threads start running before the first ones finish
  • 24. Obs 2: Make sure that you really get the desired load If we analyze the data, we see that the maximum number of concurrent threads is 57, not 100!
  • 25. Obs 3: Make sure that the results refer to the entire transaction  When looking into the other graphs/reports we see that for each of the three requests is generated a line
  • 26. In Summary Report, for each child request was generated a line But in this case we are interested by the total time, which refers to the entire login transaction
  • 27.  We are interested in having 100 concurrent users and to evaluate the entire login transaction (which is composed by all the three requests) So we’ll do the following changes:  In Thread Group check Forever for execution
  • 28.  Select Recording Controller and Change it to Transaction Controller
  • 29.  Select the Transaction Controller, check Generate parent sample and uncheck the second option, then re-run the test The statistics in reports refer now to the entire transaction
  • 30.  Wait to obtain 100 concurrent threads in Active Threads Over Time report, then wait for a while before stopping the execution
  • 31. Observations (after stopping the execution):  The test has run for about 40 sec  100 concurrent users were obtained after 10 sec  The next 30 sec were used to obtain statistics, in different graphics. The number of users remained 100 until the test was manually stopped If you consider that the chosen period of time (40 sec) is good enough to get significant trends then use this value as execution time
  • 32.  In Thread Group enter 40 in Duration(seconds) field and re-run the tests
  • 33. 3. Analyze the results
  • 34. Active Threads Over Time:  how many active threads are in each thread group during test run  Theoretically, each thread will start 0.1(10/100) seconds after the previous thread was begun  Practically, the start of each thread depends on factors like available resources (e.g. machine CPU), by the load created by the other threads and so on, so that differences may appear
  • 35. Transactions per second The load generated by the100 concurent users during 40 seconds created a number of maximum 16 concurrent transactions/seconds Obs 4: 100 concurrent users/threads don’t mean 100 concurrent transactions
  • 36.  The response times vary between 1.5 sec when having 15 active threads and almost 20 sec when reaching 100 active threads
  • 37. Response Time - Time to last byte  Time from the moment the request was sent till the last resource is finished downloading Response Latency - Time to first byte  Time from the moment the request was sent till the first byte of the first resource is received back
  • 38. Response Time Response Latency Time to last byte Time to first byte
  • 39. Summary Report  Samples – the number of samples with same label A sample mean one sampler call, in our case – one login transaction  Average  The average time taken to receive the destination web page (where the user is redirected after login)  In our case there were 238 values of receiving time which were added and divided by 238
  • 40.  Min and Max The minimum and maximum value of time required for receiving the destination web page  Std. Dev How many exceptional cases were found which were deviating from the average value of the receiving time. The lesser this value more consistent the time pattern is assumed Error % Indicates the percentage of error Avg. Bytes Average size of the sample response in bytes
  • 41.  Throughput  Calculated as requests/unit of time  The time is calculated from the start of the first sample to the end of the last sample. This includes any intervals between samples, as it is supposed to represent the load on the server
  • 42. In our case: The Average Bytes = 5167.7 Bytes ~ 5.046 KB  KB/sec = 30.18 Throughput = 30.18 /5.046 ~ 6 requests/seconds One transaction request has an average size of 5.046 KB and there were registered 30.18 KB/sec => this means there were about 6 requests per second
  • 43.  Monitor the server resources Add listener to Thread Group Add-> Listener-> Perf Monitor Collector On server configure a Server Agent to retrieve data for the report http://jmeter-plugins.org/wiki/PerfMonAgent/ CPU: between 77.37% and 100% Memory: between 27% and 80% Network I/O : between 0 and 19744 bytes/s
  • 44. Record TestCase Check operation success Are you really doing the action you think you are? Add reports / graphics Check the number of concurrent users Are you really getting the desired load? Check transaction data in graphics Are the results referring to the entire transaction? Choose the execution time Re-run tests and analyze the results
  • 45. Bibliography: 1. http://jmeter-expert.blogspot.ro/ 2. http://www.slideshare.net/vivizam/how-to-analyze-reports-in-jmeter 3. http://stackoverflow.com/questions/346788/difference-between-baseline-and-benchmark-inperformance-of-an-application 4. http://www.performancetesting.co.za/Baseline%20Testing.htm 5. https://en.wikipedia.org/wiki/Load_testing 6. http://stackoverflow.com/questions/8397700/jmeter-response-time-calculation 7. http://stackoverflow.com/questions/12303535/meaning-and-calculation-formulas-for-processingtime-latency-and-response-time 8. http://blazemeter.com/blog/load-testing-mobile-apps-made-easy (mobile) 9. https://a.blazemeter.com/node/add/jcs?status=trial&rnd=1380662288 (mobile) 10. http://jmeter-plugins.org/wiki/PerfMonAgent/
  • 46. Please fill in your evaluation form Performance testing for Web applications with JMeter Codruta Salomia codrutasalomia@yahoo.com 12th of October 2013