Apache JMeter - A Brief Introduction


Published on

A very brief introduction to web application load/stress testing with Apache JMeter

Published in: Technology
1 Comment
No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Apache JMeter - A Brief Introduction

  1. 1. (c) 2010 agilitator.com A Really Really Really Basic Introduction into Load & Stress Testing with Apache JMeter
  2. 2. (c) 2010 agilitator.com Performance, Load and Stress Testing Objectives Performance Find bottlenecks, and establish a baseline for the system operational load Load Profile the system's behavior under the top load it was designed to work under Stress Attempt to break the system by overwhelming its resources
  3. 3. (c) 2010 agilitator.com All of the above (and more) “Apache JMeter is an open source 100% pure Java desktop application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.” Source: http://jakarta.apache.org/jmeter/
  4. 4. (c) 2010 agilitator.com Let’s get started Download JMeter from Apache Website http://jakarta.apache.org/site/download s/downloads_jmeter.cgi For *nix systems: For Windows: .tgz archive .zip archive Extract archive into a local directory Navigate to jakarta-jmeter-2.*.*bin directory Launch JMeter GUI (make sure that Java is installed on your computer..) jmeter.bat (Windows) jmeter.sh (*nix)
  5. 5. (c) 2010 agilitator.com JMeter on Windows
  6. 6. (c) 2010 agilitator.com Apache JMeter GUI
  7. 7. (c) 2010 agilitator.com Add a Thread Group
  8. 8. (c) 2010 agilitator.com Meet your testers • 100 simultaneous users • activated at the rate 10 per second • runs only once
  9. 9. (c) 2010 agilitator.com Sampling – what? Samplers describe your test target – what, where and how. HTTP Request access web site over – what else – HTTP !
  10. 10. (c) 2010 agilitator.com An HTTP Request There are quite a few options to be configured… For this basic introduction let’s keep things simple
  11. 11. (c) 2010 agilitator.com Filling in the blanks At the very least, you need to supply the following: • URL for the website you are going to test • Port # - default is 80 (and you may leave it blank) • the page/directory to send request to (“/” stands for root)
  12. 12. (c) 2010 agilitator.com Can I run my tests now? As a matter of fact – you can! The catch? You would not get any results back. You need to add a LISTENER to display the information you'll be getting back
  13. 13. (c) 2010 agilitator.com Adding a Listener Summary Report is one of the most basic ones; it displays data in a table format
  14. 14. (c) 2010 agilitator.com A Summary Report: what you see is what you get Nothing to configure here, though you might want to supply a file name to where the results of the test might be saved. By default, the file will be written to jakarta-jmeter-2.*.*bin directory; use the browse button to specify different location NB: if file does not exist already, JMeter will pop up an error message: “Could not open the file”. Ignore it, the file will be created in the specified directory after first run
  15. 15. (c) 2010 agilitator.com Save your test plan Before you run your test you have to save the configuration; it is saved into a file with JMX extension
  16. 16. (c) 2010 agilitator.com Run the test, sit back and observe results! After running your test several times, you’ll notice that historic results begin to accumulate in the table. To clear the slate use Run > Clear menu option (or press CtrlShift-E)
  17. 17. (c) 2010 agilitator.com Making (some) sense out of the results amazon.com • you’ve run total of 100 samples – HTTP requests to amazon.com • average response time – 920 milliseconds • min, max and standard deviation values are also provided • on average you’ve received 89698.6 bytes per page • no errors – page faults google.com testing google.com with same parameters yield 23 milliseconds average response time, with 10 times less data transfer
  18. 18. (c) 2010 agilitator.com Just Scratching the Surface! What this really, really, really basic introduction did not cover? Why, everything else!
  19. 19. all rights reserved (c) 2010 agilitator.com Next steps There are 20+ samplers, 15+ listeners, pre- and post-processors, assertions, timers, schedulers as well as several configuration options for each. (And we haven’t even touched the Workbench!... ) Get more of JMeter on: http://jakarta.apache.org/jmeter/
  20. 20. all rights reserved (c) 2010 agilitator.com Your feedback is always welcome at: feedback@agilitator.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.