Google


About

Documentation

Community

11. Best Practices


11.1 Limit the Number of Threads

Your hardware's capabilities will limit the number of threads you can effectively run with JMeter. It will also depend on how fast your server is (a faster server gives makes JMeter work harder since it returns request quicker). The more JMeter works, the less accurate its timing information will be. The more work JMeter does, the more each thread has to wait to get access to the CPU, the more inflated the timing information gets. If you need large-scale load testing, consider running JMeter remotely across multiple machines.


11.2 Where to Put the Cookie Manager

See Building a Web Test for information.


11.3 Where to Put the Authorization Manager

See Building an Advanced Web Test for information.


11.4 Using the Proxy Server

Refer to HTTP Proxy Server for details on setting up the proxy server. The most important thing to do is filter out all requests you aren't interested in. For instance, there's no point in recording image requests (JMeter can be instructed to download all images on a page - see HTTP Request ). These will just clutter your test plan. Most likely, there is an extension all your files share, such as .jsp, .asp, .php, .html or the like. These you should "include" by entering ".*\.jsp" as an "Include Pattern".

Alternatively, you can exclude images by entering ".*\.gif" as an "Exclude Pattern". Depending on your application, this may or may not be a better way to go. You may also have to exclude stylesheets, javascript files, and other included files. Test out your settings to verify you are recording what you want, and then erase and start fresh.

Although JMeter will record directly to the ThreadGroup if no Logical Controller is present, it's recommended that you add a Simple Controller so that all samples are recorded there. This conveniently packages all your samples under one controller, which can be given a name that describes the test case.

Now, go through the steps of a Test Case. If you have no pre-defined test cases, use JMeter to record your actions to define some test cases. Once you have finished a definite series of steps, save the entire test case in an appropriately named file. Then, wipe clean and start a new test case. By doing this, you can quickly record a large number of test case "rough drafts".

One of the most useful features of the Proxy Server is that you can abstract out certain common elements from the recorded samples. By attaching an HTTP Request Defaults , with the "domain" property specified (eg jakarta.apache.org), to your Simple Controller , you can direct JMeter to:

  1. Only record samples with matching "domain" fields under this Controller, and
  2. Remove the "domain" field from the recorded sample.

You can do the same with the "Path" field.



Copyright © 1999-2001, Apache Software Foundation