Sie sind auf Seite 1von 12

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!!!

Das könnte Ihnen auch gefallen