JMeter

JMeter is a free project of Jakarta making it possible to carry out benchmarks of applications and waiters according to various protocols.

JMeter is entirely written in Java, which enables him to be used on any operating system providing a virtual Machine Java (JVM).

It makes it possible to simulate the behavior of several simultaneous users of a Application Web. Progressively from its developments, it was extended and now makes it possible to test other types of applications: waiters ftp, waiters of services Web, databases accessible via jdbc, waiters TCP-IP…

It measures the response time of each request and product of the statistics of these response times.

It contains the principal functionalities of this type of tool: Use of a data file externalized, recording of scenarios Web, scenarios " dynamiques" , adapting to the answers of the waiters, detection of errors, extensibility, management of the cookies and the rewritings of URL, launching of the tests starting from several stations… On the other hand it does not make d'" IP spoofing" (simulation of several IP addresses starting from the same station of test).

The pre ones/post processors of tests are available making it possible for example to extract from the data of results of tests. The results of the tests can be visualized various manners and can also be exported under file with the format XML.

Interesting points

The spectrum of the realizable benchmarks is rather broad. There is average to test the performance of scripts SQL, of requests HTTP/SOAP/EJB, of calls to classes Java and others still. The graphical interface of JMeter makes it possible to make tests multi-thread, to create loops and more specific controllers of tests.

Its principal functionalities are:

  • Benchmark
  • Simulation of traffic to check the robustness according to the level of traffic
  • Realization of statistical results in several written forms and textual

Basic components of Apache JMeter

  • Plane Test: Site from which one defines what one test

  • Thread Group: Site from which the parameter of simulation is defined:
  • Number off Thread: many users who connect themselves.
    • Ramp-up period (Period of heating): time interval where these users connect themselves.
    • Loop Count (Meter of loop): many times where these users connect themselves.
      • the Forever option: specify that the users connect themselves indefinitely.
  • WorkBench : Site allowing to keep the components of test not used.
  • SSL Manager: Component allowing to use protected connections.

Apache JMeter contains also 2 types of controllers:

  • Samplers: requests which one can send to a waiter or a Web application to test his resources. Apache JMeter includes requests ftp, requests HTTP, requests JDBC, the requests object Java, the requests LDAP, requests SOAP/XML-RPC and the requests WebService (SOAP).
  • Logical Controllers : makes it possible the specification of the parameters of test to be carried out. Apache JMeter includes 5 types of Logical Controllers:
    • Interleaves Controllers and Random Controllers: components allowing to send requests in a random order.
    • Controllers Loop: component allowing to send several times specified requests.
    • Only Ounce To control: component allowing only once to launch the specified requests.

Apache JMeter makes it possible to manage the parameters of certain sites or waiters (cookies, protected sites). The components available to manage these parameters are the following:

  • HTTP, ftp, LDAP, JDBC and Java Defaults Request: Components making it possible to define default settings, they will be used for all requests.
  • HTTP Authorization Manager: Component providing an identifier and a password for the sites where the access is restricted.
  • HTTP Cookie Manager: Component allowing to store, send and specify cookies to be sent to the waiter.
  • HTTP Header Manager: Component allowing to define heading HTTP of the request sent.

Apache JMeter gives the possibility of inserting a pause between each request sent. These Timers. Different Timer available are:

  • Constant Timer: Component allowing to insert a constant time between each request sent.
  • Gaussian Random Timer : Component allowing to insert a random time between each request sent.

The analysis of the answers of the waiters is done by assertions , it exists 4 types about it:

  • Response Assertion: Check if a character string is in the received answer.
  • Duration Assertion: Component testing the performance of the waiter questioned for the answer to the emitted requests.
  • Size Assertion: Component which makes it possible to select the pages according to their size.
  • XML Assertion: Component which makes it possible to check that the page to recover is a valid document XML.

For the acquisition and the posting of the results of the tests, Apache JMeter includes of Listeners. Listeners available are the following:

  • Graph results : Component providing a graph presenting the response times, the average, median time, the deviation of the various requests carried out.
  • Spline visualizer : Component providing a graph of the response time of the various requests carried out.
  • Assertion results: Component providing the results in the form textual of all the requests carried out.
  • To net visualizer: Component allowing the sending of email to the administrator in the event of too many failure the requests carried out.
  • Tree results ; Component posting the list of the requests carried out, their type and their Response Dated.
  • Table results: Component creating a table of the whole of the requests carried out, their type, their response time and their validity.
  • Aggregate carryforward: Component creating a table of the whole of the statistics of the test carried out.
  • Simple dated writer: Component which exports the results of the tests towards files given.

Books of reference

External bonds

  • Official site

  • Tutorial JMeter: Test of loads of a Web site, directions for use

Random links:Forest of Brotonne | Holoproencéphalie | Canton of Saint-Nazaire-Is | Pico (Italy) | Saint-Priest (the Rhone) | Mingayl