1. Introduction

Apache JMeter is a 100% pure Java application designed to load test client/server software (such as a web application). It may be used to test performance both on static and dynamic resources such as static files, Java Servlets, ASP.NET, PHP, CGI scripts, Java objects, databases, FTP servers, and more. JMeter can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.

Additionally, JMeter can help you regression test your application by letting you create test scripts with assertions to validate that your application is returning the results you expect. For maximum flexibility, JMeter lets you create these assertions using regular expressions.

But please note that JMeter is not a browser, it works at protocol level.

1.1 History

Stefano Mazzocchi of the Apache Software Foundation was the original developer of JMeter. He wrote it primarily to test the performance of Apache JServ (a project that has since been replaced by the Apache Tomcat project). We redesigned JMeter to enhance the GUI and to add functional-testing capabilities.

JMeter became a Top Level Apache project in November 2011, which means it has a Project Management Committee and a dedicated website.

1.2 The Future

We hope to see JMeter's capabilities rapidly expand as developers take advantage of its pluggable architecture.
The primary goal of further developments will be:

  • Addition of Websocket protocol
  • Addition of FTPS and SFTP protocols
  • Enhancements to Webservices protocols (SOAP Attachments)
  • Enhancements to JMS protocol implementation