Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jmeter Wiki" for change 
notification.

The "JMeterFAQ" page has been changed by Philippe Mouawad:
http://wiki.apache.org/jmeter/JMeterFAQ?action=diff&rev1=30&rev2=31

- '''The JMeter FAQ''' 
+ '''The JMeter FAQ'''
  
   * 
[[http://www.bonoy.com/a/index.php?name=PNphpBB2&file=viewtopic&t=276|Simple 
Chinese Version]]
  
  <<TableOfContents>>
  
  == How to do remote testing the 'proper way'? ==
- 
  '''Answer:''' Here are a few notes to help you on your way.
  
  You have:
+ 
   1. Your application server.  You shouldn't run anything on this machine that 
you wouldn't have running on it in your proposed or actual production 
environment (if you are running anything else, including JMeter, you will be 
adding load to the server and thus tainting your results).
-  1. One or more machines running jmeter-server (the [[JMeterEngine]]).  You 
want these machines to be reasonably close (network wise) to the application 
server.  By "reasonably close" I mean on the same Ethernet segment or at least 
with no low speed links between them.  The JMeter User Manual provides 
reasonable information about doing this.  
+  1. One or more machines running jmeter-server (the [[JMeterEngine]]).  You 
want these machines to be reasonably close (network wise) to the application 
server.  By "reasonably close" I mean on the same Ethernet segment or at least 
with no low speed links between them.  The JMeter User Manual provides 
reasonable information about doing this.
   1. A single machine running the JMeter GUI that you use to control the 
machines running the [[JMeterEngine]].
  
- While you are developing your scripts and for only moderate levels of user 
testing (assuming you are "close" to the application server) you do not need to 
involve any [[JMeterEngine]] machines.  
+ While you are developing your scripts and for only moderate levels of user 
testing (assuming you are "close" to the application server) you do not need to 
involve any [[JMeterEngine]] machines.   The reason you have these are to:
- The reason you have these are to:
+ 
   1. Eliminate the impact of slow network connections when you are not "close" 
to the application server.
   1. Execute more test threads than your local machine is capable of handling.
  
@@ -27, +27 @@

  If there are several nodes running the JMeter test plan, it is a good idea to 
try and ensure that their clocks are synchronised, as this makes it easier to 
analyse the data later.
  
  == How to run JMeter test plan programatically, such as from an Ant script? ==
- 
- '''Answer:''' Quick answer, go here: 
http://www.programmerplanet.org/ant-jmeter/. I have permission from the author 
of this ant task to add it to JMeter's distribution, which I will do as soon as 
I have the time.
+ '''Answer:''' Quick answer, go here: 
http://www.programmerplanet.org/ant-jmeter/. I have permission from the author 
of this ant task to add it to JMeter's distribution, which I will do as soon as 
I have the time. (It should now be in the extras folder).
- (It should now be in the extras folder).
- 
  
  == How can I do stress testing of EJBs? ==
- 
  '''Answer:''' You can use the [[UserManual/Reference/JavaSampler]] classes to 
write your own class that runs your EJB's, and then JMeter will take over the 
threading and reporting.  This, however, is not ideal.  Someone needs to write 
a good EJB Sampler implementation for JMeter (hint, hint).
  
- 
  == Why do HTTP 3xx redirects appear as errors ? Is there a way to make them 
appear as HTTP 200 OK ==
- 
  '''Answer:''' Quick answer: They appear as an error because 302 != 200, at 
least in v 1.8.1.
  
  Long answer: try using v1.9RC1, the code in  
[[http://cvs.apache.org/viewcvs.cgi/jakarta-jmeter/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java?rev=1.40&content-type=text/vnd.viewcvs-markup|HTTPSampler]]
 seems to take into account the result code for the redirect instead of the 
redirect result code.
  
- 
  == How do I parameterize my JMeter test cases? ==
- 
- '''Answer:'''
- Parameters can be set at both the Test Plan and Thread Group levels. 
+ '''Answer:''' Parameters can be set at both the Test Plan and Thread Group 
levels.
  
  At the Test Plan level, parameters can be used as constants to minimize 
changes throughout the test plan when a server or port changes, for example.  
[N.B. functions are not currently supported at Test Plan level.]
  
@@ -55, +46 @@

  
  Note: if only one user (i.e. User_1) is defined, the value will be used for 
all threads. Functions ARE supported here. See later FAQs for more information.
  
- The following example parameterizes the pet category from the 
[[http://java.sun.com/blueprints/code/index.html#java_pet_store_demo/|Java Pet 
Store]].  Thanks to [[http://www.jwebhosting.net/|jWebHosting.net]] for 
allowing us to run the example on their server.
+ The following example parameterizes the pet category from the 
[[http://java.sun.com/blueprints/code/index.html#java_pet_store_demo/|Java Pet 
Store]].
+ 
+  1. Install Pet Store application on a local tomcat server
   1. Start JMeter
   1. Click the Add button to add the following user defined variables to the 
Test Plan node:
-    1. server: www.jboss.jwebhosting.net
+   1. server: localhost
-    1. port: 80
+   1. port: 8080
-    1. protocol: http
+   1. protocol: http
   1. Add a Thread Group to the Test Plan setting:
-    1. Number of Threads: 2
+   1. Number of Threads: 2
-    1. Clear the forever checkbox
+   1. Clear the forever checkbox
-    1. Loop Count: 1
+   1. Loop Count: 1
   1. Add Config Element > HTTP Cookie Manager to Thread Group
   1. Add Pre Processors > User Parameters to Thread Group
   1. Click Add User to add an additional user to the User Parameters
   1. Click Add Variable and set name to category, User_1 to DOGS and User_2 to 
FISH
   1. Add Sampler > HTTP Request to Thread Group with the following settings:
-    1. Server Name or IP: ${server}
+   1. Server Name or IP: ${server}
-    1. Port Number: ${port}
+   1. Port Number: ${port}
-    1. Protocol: ${protocol}
+   1. Protocol: ${protocol}
-    1. Path: /estore/control/category
+   1. Path: /estore/control/category
   1. Click the Add button to add a parameter to the request:
-    1. Name: category_id
+   1. Name: category_id
-    1. Value: ${category}
+   1. Value: ${category}
   1. Add Listener > View Results Tree to Thread Group
   1. Save
   1. Run > Start
@@ -84, +77 @@

  When you view the results in the View Results Tree, you can see the 
${category} value was replaced with the value from the User Parameters.  Each 
thread will use the category from the User Parameter setting automatically.  If 
there are more than two threads, they will reuse the values in these settings, 
so the third thread would use DOGS.
  
  == How do I make parameters dynamic, reacting to the unique server responses 
of each test run? ==
- 
- '''Answer:'''
- You can use the Regular Expression Post Processor to extract a value from a 
response, and then reuse this response in another request.  Looking at the 
previous question in this FAQ, you could extract the product id from the result 
and use it in the following request:
+ '''Answer:''' You can use the Regular Expression Post Processor to extract a 
value from a response, and then reuse this response in another request.  
Looking at the previous question in this FAQ, you could extract the product id 
from the result and use it in the following request:
  
   1. Load Test Plan created in previous FAQ question
   1. Add Post Processor > Regular Expression Extractor to thread Group with 
following values:
-    1. Reference Name: product
+   1. Reference Name: product
-    1. Regular Expression: product_id=(\w*-\w*-\w*)
+   1. Regular Expression: product_id=(\w*-\w*-\w*)
-    1. Template: $1$
+   1. Template: $1$
-    1. Match No.: 0 (Setting this parameter to 0 returns a random match)
+   1. Match No.: 0 (Setting this parameter to 0 returns a random match)
   1. Copy the HTTP Request we created in the previous question and paste to 
the thread group after the previous HTTP Request
   1. Change the following values:
-    1. Path: /estore/control/product
+   1. Path: /estore/control/product
-    1. Add Parameter and set name to product_id, value to ${product} 
+   1. Add Parameter and set name to product_id, value to ${product}
   1. Save Test Plan
   1. Run > Start
  
  When you view the results in the View Results Tree, you can see the 
${product} value was replaced with the value extracted by the regular 
expression.
  
  == How do I pass parameters into my Test scripts? I want to be able to use 
the same script to test with different numbers of threads and loops, and I 
don't want to have to change the script each time. ==
- 
- '''Answer:'''as explained above, you can use functions and variables just 
about anywhere in the test plan. So if you want to pass in a value a run-time, 
just use the __property() function, which reads the value of a JMeter property. 
+ '''Answer:'''as explained above, you can use functions and variables just 
about anywhere in the test plan. So if you want to pass in a value a run-time, 
just use the __property() function, which reads the value of a JMeter property. 
 __
  
- In order to define the property so JMeter can read it, define it on the 
command line as follows:
+ __In order to define the property so JMeter can read it, define it on the 
command line as follows: __
  
- {{{ jmeter -Jproperty_name=property_value }}}
+ __{{{ jmeter -Jproperty_name=property_value }}} __
  
- For example:
+ __For example: __
  
- {{{ jmeter -Jhost2=www.zzzyy.com -Jhost1=www.jmeter-rules.net }}}
+ __{{{ jmeter -Jhost2=www.zzzyy.com -Jhost1=www.jmeter-rules.net }}} __
  
- These values can then be read in the test plan using:
+ __These values can then be read in the test plan using: __
  
- {{{ ${__property(host1)} and 
+ __{{{ ${__property(host1)} and
+ 
-  ${__property(host2)} }}}
+  . ${__property(host2)} }}} __
  
- 
- Note: Thread Groups are slightly different from other test elements, because 
their settings have to be determined before the test starts. This means that 
you cannot use variables defined in a User Parameters form. But the 
__property() function works in Thread Groups, and you can use variables defined 
on the Test Plan.
+ __Note: Thread Groups are slightly different from other test elements, 
because their settings have to be determined before the test starts. This means 
that you cannot use variables defined in a User Parameters form. But the 
__property() function works in Thread Groups, and you can use variables defined 
on the Test Plan.
  
  For example, you could define the TestPlan variable:
  
- THREADS      ${__P(threads,10)}
+ THREADS      ${__P(threads,10)} __
  
- and then use ${THREADS} in the ThreadGroup test element.
+ __and then use ${THREADS} in the ThreadGroup test element. __
  
- Elsewhere, you can use function calls, or variable references to User 
Parameters (which in turn could be functions), or variable references to 
variables set up by functions earlier in the test. There's more than one way to 
do it.
+ __Elsewhere, you can use function calls, or variable references to User 
Parameters (which in turn could be functions), or variable references to 
variables set up by functions earlier in the test. There's more than one way to 
do it. __
  
- Suppose you want to be able to vary the number of threads in a test plan. 
Choose a suitable property name, say group1.threads. Replace the thread count 
in the GUI (or the JMX, if you're feeling brave!) with the following function 
call:
+ __Suppose you want to be able to vary the number of threads in a test plan. 
Choose a suitable property name, say group1.threads. Replace the thread count 
in the GUI (or the JMX, if you're feeling brave!) with the following function 
call: __
  
- {{{ ${__property(group1.threads)} }}}
+ __{{{ ${__property(group1.threads)} }}} __
  
- Then, when starting JMeter, define the property on the command line:
+ __Then, when starting JMeter, define the property on the command line: __
  
- {{{ jmeter -Jgroup1.threads=12345 }}}
+ __{{{ jmeter -Jgroup1.threads=12345 }}} __
  
- It can be useful to put default settings into the jmeter property file, so 
you only need to supply differences on the command line.
+ __It can be useful to put default settings into the jmeter property file, so 
you only need to supply differences on the command line. __
  
- {{{ # defaults in jmeter.properties 
+ __{{{ # defaults in jmeter.properties  __
-  group1.threads=10 
-  group1.loops=100 
-  group1.rampup=10 }}}
  
+  . __group1.threads=10  group1.loops=100  group1.rampup=10 }}} __
+ 
- Then just do  jmeter -Jgroup1.loops=1000 for example.
+ __Then just do  jmeter -Jgroup1.loops=1000 for example. __
  
- Versions of JMeter after 1.9.1 have a new version of the __property() 
function which allows a default value to be supplied, in case the property is 
not found:
+ __Versions of JMeter after 1.9.1 have a new version of the __property() 
function which allows a default value to be supplied, in case the property is 
not found:
  
  {{{ ${__property(group2.threads,,defaultvalue)} }}}
  
- There is also a shorthand version called __P(), which you can use as follows:
+ There is also a shorthand version called __P(), which you can use as follows: 
__
  
- {{{ ${__P(group2.threads,100)} }}}
+ __{{{ ${__P(group2.threads,100)} }}} __
  
- if you omit the value, it defaults to 1
+ __if you omit the value, it defaults to 1 __
  
  == How do I use external data files to define variables in my Test scripts? ==
- 
- '''Answer:'''The 
[[http://jakarta.apache.org/jmeter/usermanual/component_reference.html#CSV_Data_Set_Config|CSV
 Data Set Config]] element is the best way to do this, as it can create 
multiple variables from a single data file.
+ __'''Answer:'''The 
[[http://jakarta.apache.org/jmeter/usermanual/component_reference.html#CSV_Data_Set_Config|CSV
 Data Set Config]] element is the best way to do this, as it can create 
multiple variables from a single data file. __
  
- '''Answer:'''Another way to do this is to create a User Parameters 
Pre-Processor in which you list all the values that you want to read from 
files. You can then use the variable names later in the script.
+ __'''Answer:'''Another way to do this is to create a User Parameters 
Pre-Processor in which you list all the values that you want to read from 
files. You can then use the variable names later in the script. __
  
- For example:
+ __For example: __
  
-  1. Start JMeter
+  1. __Start JMeter __
-  1. Add a Thread Group to the Test Plan
-    1. set the appropriate number of threads and iterations
+  1. __Add a Thread Group to the Test Plan   1. set the appropriate number of 
threads and iterations
+ __
-  1. Add Pre Processors > User Parameters to Thread Group
+  1. __Add Pre Processors > User Parameters to Thread Group __
+  1. __Click Add Variable   1. Set Update once per iteration
-  1. Click Add Variable
-    1. Set Update once per iteration
-    1. Set the Name to the name of the variable (e.g. ACCOUNTID)
+   1. Set the Name to the name of the variable (e.g. ACCOUNTID)
-    1. Set the value (under User_1) to {{{${_StringFromFile(accounts.dat)}}}}
+   1. Set the value (under User_1) to {{{${_StringFromFile(accounts.dat)}}}}
+ __
-  1. Add Sampler > HTTP Request to Thread Group:
+  1. __Add Sampler > HTTP Request to Thread Group: __
-  1. Click the Add button to add a parameter to the request:
+  1. __Click the Add button to add a parameter to the request:   1. Name: 
account_id
-    1. Name: account_id
-    1. Value: ${ACCOUNTID}
+   1. Value: ${ACCOUNTID}
+ __
-  1. Add Listener > View Results Tree to Thread Group
+  1. __Add Listener > View Results Tree to Thread Group __
-  1. Save
+  1. __Save __
-  1. create the file accounts.dat containing one line per account id. If it is 
not in the bin directory, then modify the String``From``File parameter 
accordingly, e.g. {{{${_StringFromFile(../testdata/accounts.dat)} or 
${_StringFromFile(/home/user/testdata/accounts.dat)} or 
${_StringFromFile(C:/work/data/accounts.dat)}}}}
+  1. __create the file accounts.dat containing one line per account id. If it 
is not in the bin directory, then modify the StringFromFile parameter 
accordingly, e.g. {{{${_StringFromFile(../testdata/accounts.dat)} or 
${_StringFromFile(/home/user/testdata/accounts.dat)} or 
${_StringFromFile(C:/work/data/accounts.dat)}}}} __
-  1. Run > Start
+  1. __Run > Start __
  
- Each iteration, the ACCOUNTID variable will be set to the next line in the 
file, and the HTTP Request will use its value to set the account_id parameter.
+ __Each iteration, the ACCOUNTID variable will be set to the next line in the 
file, and the HTTP Request will use its value to set the account_id parameter. 
__
  
- When the end of the file is reached, StringFromFile starts reading again at 
the beginning.
+ __When the end of the file is reached, StringFromFile starts reading again at 
the beginning. __
  
- N.B. If using such a script in client-server mode, make sure that any data 
files are copied to the appropriate place on the server host, as the files will 
be opened by the server process, not the client.
+ __N.B. If using such a script in client-server mode, make sure that any data 
files are copied to the appropriate place on the server host, as the files will 
be opened by the server process, not the client. __
  
  == I'm having difficulty getting JMeter to work with SSL (HTTPS).  What's the 
problem? ==
- 
- '''Answer:''' Check out the documentation  
[[http://jakarta.apache.org/jmeter/usermanual/get-started.html|item 2.2.4]].  
''[A lot of people struggle with this, either because of private certs or 
whatever - I'm looking for a page that details common trip-ups and solutions 
for them. - MikeStover]''
+ __'''Answer:''' Check out the documentation  
[[http://jakarta.apache.org/jmeter/usermanual/get-started.html|item 2.2.4]].  
''[A lot of people struggle with this, either because of private certs or 
whatever - I'm looking for a page that details common trip-ups and solutions 
for them. - MikeStover]'' __
  
  == I'm having difficulty building Jmeter from NetBeans IDE. It is looking for 
a org.apache.log.Hierarchy, which log util is it looking for? ==
- 
- '''Answer:''' Make sure to mount all of the jars in the lib folder.
+ __'''Answer:''' Make sure to mount all of the jars in the lib folder. __
  
  == Has anyone out there used JMeter as part of junit testing?  I'd like to 
think that by using assertions with a custom JUnit listener JMeter could be run 
in as part of functional testing. ==
- 
- '''Answer:''' It's a great idea to write some glue between JMeter and JUnit 
for just this purpose.  It doesn't exist currently, though there is an Ant task 
for JMeter that you might find useful.
+ __'''Answer:''' It's a great idea to write some glue between JMeter and JUnit 
for just this purpose.  It doesn't exist currently, though there is an Ant task 
for JMeter that you might find useful. __
  
  == Can JMeter record HTTPS requests using the recording proxy? ==
- 
- '''Answer:'''Yes, in JMeter 2.4. JMeter now uses its own dummy certificate 
which the browser needs to be configured to accept.
+ __'''Answer:'''Yes, in JMeter 2.4. JMeter now uses its own dummy certificate 
which the browser needs to be configured to accept. __
  
  == How can I display the response text my assertation runs against? ==
- 
- '''Answer:'''You can display your server's response text in the View Results 
Tree listener.
+ __'''Answer:'''You can display your server's response text in the View 
Results Tree listener. __
  
  == Is there a JMX Schema/DTD available? ==
- 
- '''Answer:'''No.  Don't plan on having one either at this point.  Changes 
would be too frequent to realistically keep up with.  
+ __'''Answer:'''No.  Don't plan on having one either at this point.  Changes 
would be too frequent to realistically keep up with.   __
  
  == What happens with redirects when asserting HTTP responses? ==
- 
- '''Answer:'''Assertions aren't smart enough to do the right thing with 
redirected requests - currently the 302 response would be asserted against.  
You can get around this by recording your test plans and leaving "follow 
redirects" off.
+ __'''Answer:'''Assertions aren't smart enough to do the right thing with 
redirected requests - currently the 302 response would be asserted against.  
You can get around this by recording your test plans and leaving "follow 
redirects" off. __
  
- Alternatively, the latest JMeter release (after 1.9.1) has an option to allow 
the redirects to be handled by the Java libary routines. Earlier versions of 
Java did not support redirects properly, but if you want to try, just define 
the following JMeter property:
+ __Alternatively, the latest JMeter release (after 1.9.1) has an option to 
allow the redirects to be handled by the Java libary routines. Earlier versions 
of Java did not support redirects properly, but if you want to try, just define 
the following JMeter property: __
  
- {{{ HTTPSampler.delegateRedirects=true }}}
+ __{{{ HTTPSampler.delegateRedirects=true }}} __
  
- JMeter will then not see the redirects at all.
+ __JMeter will then not see the redirects at all. __
  
  == I've set the CLASSPATH, but JMeter is not picking up my Jars ==
- 
- '''Answer:'''The CLASSPATH variable is ignored when using the -jar flag. For 
some further information on this, 
see:[[http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html#userclass|How
 the Java launcher finds user classes ]]
+ __'''Answer:'''The CLASSPATH variable is ignored when using the -jar flag. 
For some further information on this, 
see:[[http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html#userclass|How
 the Java launcher finds user classes]] __
  
- JMeter currently knows to look for jars/classes in two places only:
+ __JMeter currently knows to look for jars/classes in two places only: __
+ 
-  *  lib/ext, where the [[ApacheJMeter]]_*.jar files live
+  * __lib/ext, where the [[ApacheJMeter]]_*.jar files live __
-  *  lib, where the 3rd party jar files live
+  * __lib, where the 3rd party jar files live __
  
- Additional jars should normally be placed in the lib directory; however, if 
you have written an add-on for JMeter itself, that should be put in the lib/ext 
directory.
+ __Additional jars should normally be placed in the lib directory; however, if 
you have written an add-on for JMeter itself, that should be put in the lib/ext 
directory. __
  
- If you want your jar file to be available to all Java applications, it can be 
placed in the 
[[http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html#extclass|JVM 
extensions directory]]
+ __If you want your jar file to be available to all Java applications, it can 
be placed in the 
[[http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html#extclass|JVM 
extensions directory]] __
  
+ __Another possible solution is to take a copy of the jmeter startup script, 
and replace: {{{ -jar ["ApacheJMeter"].jar }}} with {{{ 
org.apache.jmeter.NewDriver }}} after adding [[ApacheJMeter]].jar to the 
classpath __
- Another possible solution is to take a copy of the jmeter startup script, and 
replace:
- {{{ -jar ["ApacheJMeter"].jar }}}
- with
- {{{ org.apache.jmeter.NewDriver }}}
- after adding [[ApacheJMeter]].jar to the classpath
  
  == What Pattern matching (regexen) does JMeter support? ==
- 
- '''Answer:'''JMeter includes the pattern matching software 
[[http://jakarta.apache.org/oro/|Apache Jakarta ORO]].
+ __'''Answer:'''JMeter includes the pattern matching software 
[[http://jakarta.apache.org/oro/|Apache Jakarta ORO]]. __
  
- See RegularExpressions for more details and examples
+ __See RegularExpressions for more details and examples __
  
  == I want to use “Monitor Results” of JMeter ==
+ __Currently I am using WAS 5.0 Application Server .  For “Monitor Results” , 
JMeter shows the example for TOMCAT 5.0 WebServer.  __
  
- Currently I am using WAS 5.0 Application Server . 
- For “Monitor Results” , JMeter shows the example for TOMCAT 5.0 WebServer. 
- 
- “”””( Followings from JMeter doc )
+ __“”””( Followings from JMeter doc ) __
  
- Add the HTTP Request to the Thread Group element (Add --> Sampler --> HTTP 
Request). Then, select the HTTP Request element in the tree and edit the 
following properties): 
+ __Add the HTTP Request to the Thread Group element (Add --> Sampler --> HTTP 
Request). Then, select the HTTP Request element in the tree and edit the 
following properties):  __
  
+ __Change the Name field to "Server Status".  Enter the IP address or Hostname 
 Enter the port number  Set the Path field to "/manager/status" if you're using 
Tomcat.  Add a request parameter named "XML" in uppercase. Give it a value of 
"true" in lowercase.  Check "Use as Monitor" at the bottom of the sampler  
“”””” Please let me know how I can set “Monitor Results” of JMeter in WAS5.0. __
- Change the Name field to "Server Status". 
- Enter the IP address or Hostname 
- Enter the port number 
- Set the Path field to "/manager/status" if you're using Tomcat. 
- Add a request parameter named "XML" in uppercase. Give it a value of "true" 
in lowercase. 
- Check "Use as Monitor" at the bottom of the sampler 
- “””””
- Please let me know how I can set “Monitor Results” of JMeter in WAS5.0.
  
- To use the JMeter Monitor for IBM WAS5.0, you will need to port the status 
servlet from Tomcat5 to WAS. Your other option is to write your own status 
servlet and output the data in the correct format. Tomcat5 includes the schema 
for the status data. If you have any further question, feel free to email the 
jmeter-user mailing list.
+ __To use the JMeter Monitor for IBM WAS5.0, you will need to port the status 
servlet from Tomcat5 to WAS. Your other option is to write your own status 
servlet and output the data in the correct format. Tomcat5 includes the schema 
for the status data. If you have any further question, feel free to email the 
jmeter-user mailing list. __
  
  == JMeter keeps getting "Out of Memory" errors.  What can I do? ==
- 
- This is usually caused by including memory intensive listeners in your stress 
test.  Listeners like "View Tree Results" are useful for debugging your test, 
but they are too memory intensive to remain in your test when you ramp up the 
number of simulated users and iterations.  The best listeners to use for a 
long-term, high-load test are Aggregate Listener, Graph Listener, and Spline 
Listener.
+ __This is usually caused by including memory intensive listeners in your 
stress test.  Listeners like "View Tree Results" are useful for debugging your 
test, but they are too memory intensive to remain in your test when you ramp up 
the number of simulated users and iterations.  The best listeners to use for a 
long-term, high-load test are Aggregate Listener, Graph Listener, and Spline 
Listener. __
  
- In addition, you can instruct the JVM to use more memory by editing the 
jmeter/jmeter.bat files for linux/windows.  Within these files, find a section 
that sets values for the Heap:
+ __In addition, you can instruct the JVM to use more memory by editing the 
jmeter/jmeter.bat files for linux/windows.  Within these files, find a section 
that sets values for the Heap: __
+ 
-  set HEAP=-Xms256m -Xmx256m
+  . __set HEAP=-Xms256m -Xmx256m __
  
- Feel free to change these values.  Xms indicates the starting RAM the jvm 
will take, and Xmx will be the maximum it is allowed (for the HEAP).
+ __Feel free to change these values.  Xms indicates the starting RAM the jvm 
will take, and Xmx will be the maximum it is allowed (for the HEAP). __
  
  == Does JMeter process dynamic pages (e.g. Javascript and applets) ==
- 
- No. JMeter does not process Javascript or applets embedded in HTML pages.
+ __No. JMeter does not process Javascript or applets embedded in HTML pages. __
  
- JMeter can download the relevant resources (some embedded resources are 
downloaded automatically if the correct options are set), but it does not 
process the HTML and execute any Javascript functions.
+ __JMeter can download the relevant resources (some embedded resources are 
downloaded automatically if the correct options are set), but it does not 
process the HTML and execute any Javascript functions. __
  
- If the page uses Javascript to build up a URL or submit a form, you can use 
the Proxy Recording facility to create the necessary sampler. If this is not 
possible, then manual inspection of the code may be needed to determine what 
the Javascript is doing.
+ __If the page uses Javascript to build up a URL or submit a form, you can use 
the Proxy Recording facility to create the necessary sampler. If this is not 
possible, then manual inspection of the code may be needed to determine what 
the Javascript is doing. __
  
  == What about backward compatibility ? ==
- 
- '''Answer:''' JMeter 2.1 uses a new format. But you can set values to 2.0 to 
save to old format.
+ __'''Answer:''' JMeter 2.1 uses a new format. But you can set values to 2.0 
to save to old format. __
  
- You should take a look at ''jmeter.properties'' in your bin directory.
+ __You should take a look at ''jmeter.properties'' in your bin directory. __
  
- You can uncomment those lines (remove # character) and restart jmeter : {{{
+ __You can uncomment those lines (remove # character) and restart jmeter : __
+ 
+ {{{
- # Save test plans and test logs in 2.0 format
- #file_format=2.0
- # Just test plans (jmx)
- #file_format.testplan=2.0
- # Just test logs (jtl)
- #file_format.testlog=2.0
  }}}
- You can also take a look at this 
[[http://marc.theaimsgroup.com/?l=jmeter-dev&m=113344943605787&w=2|mail 
archive]] from dev list.
+ __You can also take a look at this 
[[http://marc.theaimsgroup.com/?l=jmeter-dev&m=113344943605787&w=2|mail 
archive]] from dev list. __
  
- More informations about: JmxTestPlan or JtlTestLog
+ __More informations about: JmxTestPlan or JtlTestLog __
  
  == How do I ensure each http request for jsp is within one jsessionid ? ==
+ __Just insert an HTTP Cookie Manager. This keeps track of all cookies for 
each thread within the thread group. Without http cookie manager, each request 
is a new session as cookies are not kept.  jsessionid is only shown for the 
very first request, subsequent request will not see the jsessionid. to use a 
variable in jmeter is ${name of variable}.  __
  
- Just insert an HTTP Cookie Manager. This keeps track of all cookies for each 
thread within the thread group.
- Without http cookie manager, each request is a new session as cookies are not 
kept. 
- jsessionid is only shown for the very first request, subsequent request will 
not see the jsessionid. to use a variable in jmeter is ${name of variable}. 
- 
- This is very useful when dealing with jsp form logins, as the first request 
is to login to the system and subsequent request is to do load testing on the 
target page. This will prevent redirection back into login page. 
+ __This is very useful when dealing with jsp form logins, as the first request 
is to login to the system and subsequent request is to do load testing on the 
target page. This will prevent redirection back into login page.  __
  
  == How do I ensure the remote jmeter server can communicate with the master 
client? ==
- 
- Sometimes java/rmi doesn't determine the correct IP address of your client.  
For example if you are communicating over a vpn under linux, the ppp interface 
is the IP that you want to use, but java may end up using the eth1 interface.  
If this is the case, you will see a connect exception in the jmeter-server log, 
which will mention an IP address different than the one you want it to use.  
You can force rmi to use a different IP address than the one it looks up by 
setting a system property: -Djava.rmi.server.hostname=192.168.5.6
+ __Sometimes java/rmi doesn't determine the correct IP address of your client. 
 For example if you are communicating over a vpn under linux, the ppp interface 
is the IP that you want to use, but java may end up using the eth1 interface.  
If this is the case, you will see a connect exception in the jmeter-server log, 
which will mention an IP address different than the one you want it to use.  
You can force rmi to use a different IP address than the one it looks up by 
setting a system property: -Djava.rmi.server.hostname=192.168.5.6 __
  

Reply via email to