JMeter - Performance testing your webapp
Upcoming SlideShare
Loading in...5
×
 

JMeter - Performance testing your webapp

on

  • 19,528 views

 

Statistics

Views

Total Views
19,528
Views on SlideShare
19,035
Embed Views
493

Actions

Likes
5
Downloads
996
Comments
2

7 Embeds 493

http://amitsolanki.com 429
http://www.slideshare.net 43
http://en.tietostage.tieto.com 11
http://www.linkedin.com 7
http://static.slideshare.net 1
http://translate.googleusercontent.com 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JMeter - Performance testing your webapp JMeter - Performance testing your webapp Presentation Transcript

  • JMeter (http://jakarta.apache.org/jmeter/) A tool for performance testing your webapp Amit Solanki http://amitsolanki.com amit@vinsol.com
  • Testing - Performance/Load/Stress • Performance testing • how fast an app performs under a particular workload • validation, verification of quality attributes (scalability, reliability, resource usage) • demonstrates that the system meets performance criteria • Load Testing • modeling the expected usage by simulating multiple users accessing the web services concurrently • raised beyond normal usage - stress testing • Stress Testing • determination of stability of an application • tries to break the app by overwhelming its resources
  • Before starting • What is our anticipated average number of users (normal load) ? • What is our anticipated peak number of users ? • When is a good time to load-test our application (i.e. off-hours or week-ends), bearing in mind that this may very well crash one or more of our servers ? • What is the testing intended to achieve? • Sequential • functional (low-volume) • benchmark (the average number of users) • load-test (the maximum number of users) • test destructively (what is our hard limit?)
  • JMeter - Introduction • Features • 100% pure java, open source desktop application • originally developed by Stefano Mazzocchi • designed for functional/load/performance/stress testing • Extensible… write your own test • Simulate heavy load (application, server and network) • Gives instant visual feedback • distributed testing • various protocols - HTTP, FTP, JDBC, JMS, LDAP, SOAP • multi-platform • Full multithreading framework • Caching and offline analysis/replaying of test results.
  • Application Overview • GUI, command line interface • Tests can be run and analyzed interactively, or run in batch mode and analyzed offline • Test plans consist of • Thread groups: organize threads of execution • Samplers: sends requests to a server • Logical controllers : control flow of test plan (loops, conditionals, ordering, etc.) • Listeners: record, summarize and display record and response data • Timers: introduce delays in test plan • Assertions: assert facts about responses, for functional testing • Configuration elements • Pre-processors and post-processors
  • Testing Process Create Thread Create Test Plan Test Group Script Run Test Plan Analyze Result Test Plan Thread Group Samplers Listeners Scheduler Timers
  • Elements of test plan Thread group Logic Controllers Samplers Configuration Elements Pre-Processor Elements Post-Processor Elements Timers Assertions Listeners
  • Demo
  • Distributed Testing jmeter -server jmeter -server jmeter -server 192.168.1.6 192.168.1.7 192.168.1.8 jmeter 192.168.1.2 jmeter -server jmeter -server jmeter -server 192.168.1.9 192.168.1.10 192.168.1.11
  • Distributed Testing (contd...) Check : - • firewalls turned off • jmeter & jmeter -servers on same subnet • jmeter can access all jmeter -servers • same version of jmeter on all systems
  • Drawbacks • Complex terminology • Manual distributed execution • Graphic representation quite confusing • Difficult to build for beginners
  • Thank You!!!