]> User's Manual: Properties Reference

This document describes JMeter properties. The properties present in jmeter.properties or reportgenerator.properties should be set in the user.properties file. These properties are only taken into account after restarting JMeter as they are usually resolved when the class is loaded.

Preferred GUI language. Comment out to use the JVM default locale's language.
Example: language=en This property is the only one that must be set in jmeter.properties file To fully configure language ensure you set locale, see Internationalization: Understanding Locale in the Java Platform. Example for English: -Duser.language=en -Duser.region=EN
Additional locale(s) to add to the displayed list.
The current default list is: en, fr, de, no, es, tr, ja, zh_CN, zh_TW, pl, pt_BR.
See JMeterMenuBar#makeLanguageMenu()
The entries are a comma-separated list of language names.
Example: locales.add=zu
Path to a Properties file containing Namespace mapping in the form prefix=Namespace. Example: ns=http://biz.aol.com/schema/2006-12-18 XPath2 query cache for storing compiled XPath queries Defaults to 400
SSL (Java) System properties are now in system.properties
JMeter no longer converts javax.xxx property entries in jmeter.properties into System properties. These must now be defined in the system.properties file or on the command-line. The system.properties file gives more flexibility.
By default, SSL session contexts are now created per-thread, rather than being shared.
The old behaviour can be enabled by setting this property to true. Defaults to: false
Be aware that https default protocol may vary depending on the version of JVM. See Diagnosing TLS, SSL and HTTPS and 58236. Default HTTPS protocol level: https.default.protocol=TLS This may need to be changed to: https.default.protocol=SSLv3 List of protocols to enable. You may have to select only a subset if you find issues with target server.
This is needed when server does not support Socket version negotiation, this can lead to errors like: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated or java.net.SocketException: Connection reset.
See 54759, example: https.socket.protocols=SSLv2Hello SSLv3 TLSv1
Comma-separated list of SSL cipher suites that may be used in HTTPS connections. It may be desirable to use a subset of cipher suites in order to match expected client behavior or to reduce encryption overhead in JMeter when running with large numbers of users. Errors may occur if the JVM does not support the specified cipher suites, or if the cipher suites supported by the HTTPS server do not overlap this list. See the JSSE Reference Guide.
For example: https.cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256 If not specified, JMeter will use the default list of cipher suites supported by the JVM.
Reset HTTP State when starting a new Thread Group iteration. In summarytrue means next iteration is associated to a new user. false means next iteration is associated to same user. true involves:
  • Closing opened connection
  • resetting SSL State
Defaults to: true
Control if we allow reuse of cached SSL context between iterations.
Set the value to false to reset the SSL context each iteration.
Defaults to: true DEPRECATED, you should use httpclient.reset_state_on_thread_group_iteration with correct value
Start index to be used with keystores with many entries.
The default is to use entry 0, i.e. the first.
Defaults to: 0
End index to be used with keystores with many entries.
Defaults to: 0
Classname of the Swing default UI
The LAF classnames that are available are now displayed as ToolTip text when hovering over the Options/Look and Feel selection list.
You can either use a full class name, as shown below, or one of the strings "System" or "CrossPlatform" which means JMeter will use the corresponding string returned by UIManager.get<name>LookAndFeelClassName().
LAF can be overridden by os.name (lowercased, spaces replaced by '_').
Take for example an os.name of Windows 10.
JMeter would look first for a property jmeter.laf.windows_10=javax.swing.plaf.metal.MetalLookAndFeel Failing that, the OS family os.name would be used shortened to the first space. In our example JMeter would therefore look for a property jmeter.laf.windows=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Mac apparently looks better with the System LAF set through jmeter.laf.mac=System Failing that, the JMeter default LAF can be defined through: jmeter.laf=System If none of the above jmeter.laf properties are defined, JMeter uses the CrossPlatform LAF. This is because the CrossPlatform LAF generally looks better than the System LAF. See 52026 for details. When you change Look and Feel (LAF) from JMeter GUI through menu Options > Look and Feel, you should restart JMeter to ensure change is fully effective.
Display LoggerPanel.
Defaults to: false
Enable LogViewer Panel to receive log event even when closed.
Enabled since 2.12
Note this has some impact on performances, but as GUI mode must not be used for Load Test it is acceptable Defaults to: true
Max lines kept in LoggerPanel, 0 means no limit.
Defaults to: 1000
Interval period in ms to process the events of the listeners.
Defaults to: 500
Toolbar icon definitions.
Defaults to org/apache/jmeter/images/toolbar/icons-toolbar.properties
Toolbar list.
Defaults to: new,open,close,save,save_as_testplan,|,cut,copy,paste,|,expand,collapse,toggle,|,test_start,test_stop,test_shutdown,|,test_start_remote_all,test_stop_remote_all,test_shutdown_remote_all,|,test_clear,test_clear_all,|,search,search_reset,|,function_helper,help
Available sizes are: 22x22, 32x32, 48x48. Suggested value for HiDPI mode is jmeter.toolbar.icons.size=48x48 Defaults to: 22x22 Icon definitions. Alternate set: jmeter.icons=org/apache/jmeter/images/icon_1.properties Historical icon set (deprecated): jmeter.icons=org/apache/jmeter/images/icon_old.properties Defaults to:org/apache/jmeter/images/icon.properties Available sizes are: 19x19, 24x24, 32x32, 48x48. Useful for HiDPI display (see below).
Defaults to: 19x19
Suggested value for HiDPI screen like 3200x1800 is: 32x32
HiDPI mode. Activate a 'pseudo'-HiDPI mode. Allows to increase size of some UI elements which are not correctly managed by JVM with high resolution screens in Linux or Windows.
Defaults to: false
HiDPI scale factor. Suggested value for HiDPI: 2.0. Defaults to: 1.0 Components to not display in JMeter GUI (GUI class name or static label).
These elements are deprecated and will be removed in next version: MongoDB Script, MongoDB Source Config Defaults to: org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler, org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
Number of items in undo history.
Feature is disabled by default (0) due to known and not fixed bugs 57043, 57039 and 57040. Set it to a number greater than zero (25 can be a good default).
The bigger it is, the more memory will be consumed. Defaults to: 0
Hotkeys to add JMeter components where X is the shortcut key, for example: gui.quick_0=ThreadGroupGui gui.quick_1=HttpTestSampleGui gui.quick_2=RegexExtractorGui gui.quick_3=AssertionGui gui.quick_4=ConstantTimerGui gui.quick_5=TestActionGui gui.quick_6=JSR223PostProcessor gui.quick_7=JSR223PreProcessor gui.quick_8=DebugSampler gui.quick_9=ViewResultsFullVisualizer Above code will add the corresponding elements when you press Ctrl0Ctrl9 (&command;0&command;9 on Mac)
Enable auto backups of the .jmx file when a test plan is saved.
When enabled, before the .jmx is saved, it will be backed up to the directory pointed to by the jmeter.gui.action.save.backup_directory property (see below). Backup file names are built after the jmx file being saved. For example, saving test-plan.jmx will create a test-plan-000012.jmx in the backup directory provided that the last created backup file is test-plan-000011.jmx.
Default value is true indicating that auto backups are enabled.
Defaults to: true
Set the backup directory path where JMX backups will be created upon save in the GUI.
If not set (what it defaults to) then backup files will be created in a sub-directory of the JMeter base installation. If set and the directory does not exist, a corresponding directory will be created.
Defaults to: ${JMETER_HOME}/backups
Set the maximum time (in hours) that backup files should be preserved since the save time.
By default no expiration time is set which means we keep backups for ever.
Defaults to: 0
Set the maximum number of backup files that should be preserved. By default ten backups will be preserved.
Setting this to zero will cause the backups to not being deleted (unless keep_backup_max_hours is set to a non zero value).
Defaults to: 10
Enable auto saving of the .jmx file before start run a test plan
When enabled, before the run, the .jmx will be saved and also backed up to the directory pointed.
Defaults to: true
Remote Hosts - comma delimited, for example remote_hosts=localhost:1099,localhost:2010 Defaults to: 127.0.0.1 RMI port to be used by the server (must start rmiregistry with same port). To change the port to (say) 1234:
On the server(s):
  1. set server_port=1234
  2. start rmiregistry with port 1234
On Windows this can be done by: SET SERVER_PORT=1234 JMETER-SERVER On Unix: SERVER_PORT=1234 jmeter-server On the Windows client: set remote_hosts=server:1234 On the Unix client: export remote_hosts=server:1234 Defaults to: 1099
Parameter that controls the RMI port used by the RemoteSampleListenerImpl (The Controller)
Default value is 0, which means port is randomly assigned. You may need to open a port in the firewall on the Controller machine. Defaults to: 0
When distributed test is starting, there may be several attempts to initialize remote engines.
By default, only a single try is made. Increase this property to make it retry additional times.
Defaults to: 1
If initialization is retried, this property sets the delay between those attempts in milliseconds.
Defaults to: 5000
When all initialization tries were made, the test will fail, if any remote engines are failed.
Set this property to true to ignore failed nodes and proceed with test.
Defaults to: false
To change the default port (1099) used to access the server.
Defaults to: 1099
To use a specific port for the JMeter server engine, define this property before starting the server.
Defaults to: 4000
From JMeter version 2.3.1, the JMeter server creates the RMI registry as part of the server process.
Set this property to false, to stop the server creating the RMI registry.
Defaults to: true
From JMeter version 2.3.1, define this property to cause JMeter to exit after the first test.
Defaults to: true
Type of keystore for RMI connection security. Possible values are dependent on the JVM in use, but commonly supported are JKS and PKCS12. Defaults to: JKS Keystore file that contains private key Defaults to: rmi_keystore.jks Password of Keystore Defaults to: changeit Key alias Defaults to: rmi Type of truststore for RMI connection security Defaults to: the value of server.rmi.ssl.keystore.type, which is JKS Keystore file that contains certificate Defaults to: the value of server.rmi.ssl.keystore.file, which is rmi_keystore.jks Password of Trust store Defaults to: the value of server.rmi.ssl.keystore.password, which is changeit Set this to true if you don't want to use SSL for RMI Defaults to: false
Prefix used by IncludeController when building file names.
Defaults to empty value
Number of connection retries performed by HTTP Java sampler before giving up. 0 means no retry since version 3.0.
Defaults to: 0
Should JMeter add to POST request a Header Content-type: application/x-www-form-urlencoded if missing?
Was true before version 4.1.
Defaults to: false
Set the socket timeout (or use the parameter http.socket.timeout) for AJP Sampler.
Value is in milliseconds, 0 means no timeout.
Defaults to: 0
Set the http version.
Defaults to: 1.1 (or use the parameter http.protocol.version)
Set characters per second to a value greater then zero to emulate slow connections.
Defaults to: 0
Same as before but for https. Defaults to: 0 Enable loopback protocol.
Defaults to: true
Define the local host address to be used for multi-homed hosts, example httpclient.localaddress=1.2.3.4
AuthManager Kerberos configuration
Name of application module used in jaas.conf.
Defaults to: JMeter
Should port be stripped from urls before constructing SPNs for SPNEGO authentication. Defaults to: true Should SPNEGO authentication should use delegation of credentials. Defaults to: false
Enable header wire and context logging - Best for Debugging In log4j2.xml, set: <Logger name="org.apache.http" level="debug" /> <Logger name="org.apache.http.wire" level="error" /> Enable full wire and context logging In log4j2.xml, set: <Logger name="org.apache.http" level="debug" /> Enable context logging for connection management <Logger name="org.apache.http.impl.conn" level="debug" /> Enable context logging for connection management / request execution <Logger name="org.apache.http.impl.conn" level="debug" /> <Logger name="org.apache.http.impl.client" level="debug" /> <Logger name="org.apache.http.client" level="debug" />
Define a properties file for overriding Apache HttpClient parameters.
Uncomment this line if you put anything in hc.parameters file.
Defaults to: hc.parameters
Preemptively send Authorization Header when BASIC auth is used Defaults to: true Number of retries to attempt. Retry will be done on Idempotent Http Methods by default. If you want to retry for all methods, see property httpclient4.request_sent_retry_enabled
Defaults to: 0
Set this property to true if it's OK to retry requests that have been sent. This mean that both Idempotent and non Idempotent requests will be retried. This should usually be false, but it can be useful when testing against some Load Balancers like Amazon ELB.
Defaults to: false
Idle connection timeout (in milliseconds) to apply if the server does not send Keep-Alive timeout headers.
Defaults to: 0 (no suggested duration for Keep-Alived connections)
Check connection if the elapsed time (in milliseconds) since the last use of the connection exceeds this value. Ensure this value is always lower by at least 150 ms than httpclient4.time_to_live
Defaults to: 1700
TTL (in milliseconds) represents an absolute value. No matter what, the connection will not be re-used beyond its TTL.
Defaults to: 2000
Max size in bytes of PUT body to retain in result sampler. Bigger results will be clipped.
Defaults to: 327678 (bytes)
Ignore EOFException that some edgy application may emit to signal end of Deflated stream.
Defaults to: false
Ignore EOFException that some edgy application may emit to signal end of GZipped stream.
Defaults to: false
If true, default HC4 User-Agent (Apache-HttpClient/X.Y.Z (Java/A.B.C_D)) will not be added.
Defaults to: false
Space or comma separated list of methods that can be cached.
Defaults to: GET
N.B. This property is currently a temporary solution for 56162. Since version 2.12, JMeter does not create anymore a Sample Result with a response code of 204 for a resource found in cache. This is in line with what browser do.
You can choose between three modes:
RETURN_NO_SAMPLE (default)
this mode returns no Sample Result. It has no additional configuration.
RETURN_200_CACHE
this mode will return Sample Result with response code to 200 and response message to "(ex cache)".
RETURN_CUSTOM_STATUS
choosing this mode, response code and message have to be set by specifying RETURN_CUSTOM_STATUS.code and RETURN_CUSTOM_STATUS.message.
Defaults to: RETURN_NO_SAMPLE
This lets you select what response code you want to return if mode RETURN_CUSTOM_STATUS is selected.
Defaults to empty value.
This lets you select what response message you want to return if mode RETURN_CUSTOM_STATUS is selected.
Defaults to empty value
This section helps determine how result data will be saved.
The commented out values are the defaults.
Legitimate values: xml, csv, db.
Only xml and csv are currently supported.
Defaults to: csv
true when field should be saved; false otherwise.
assertion_results_failure_message only affects CSV output.
Defaults to: true
Legitimate values: none, first, all.
Defaults to: none
Defaults to: true Defaults to: true Defaults to: true response_data is currently not supported for CSV output Defaults to: false Save ResponseData for failed samples. Defaults to: false Defaults to: true Defaults to: true Defaults to: true Defaults to: true Defaults to: true Defaults to: true Defaults to: true Defaults to: false Defaults to: false Defaults to: false Defaults to: false Defaults to: false Defaults to: true Defaults to: false Defaults to: false Defaults to: false Defaults to: true Defaults to: false Defaults to: true Timestamp format - this only affects CSV output files.
Legitimate values: none, ms, or a format suitable for SimpleDateFormat.
Defaults to: ms
Defaults to: yyyy/MM/dd HH:mm:ss.SSS For use with Comma-separated value (CSV) files or other formats where the fields' values are separated by specified delimiters.
Defaults to: , For TAB, one can use \t
Only applies to CSV format files:
Print field names as first line in CSV
Defaults to: true
Optional list of JMeter variable names whose values are to be saved in the result data files.
Use commas to separate the names.
Defaults to: SESSION_ID,REFERENCE
N.B. The current implementation saves the values in XML as attributes, so the names must be valid XML names. Versions of JMeter after 2.3.2 send the variable to all servers to ensure that the correct data is available at the client.
Optional XML processing instruction for line two of the file.
Defaults to empty value
Prefix used to identify filenames that are relative to the current base.
Defaults to: ~/
AutoFlush on each line written in XML or CSV output.
Setting this to true will result in less test results data loss in case of a crash, but with impact on performances, particularly for intensive tests (low or no pauses).
Since JMeter version 2.10, this is false by default.
Defaults to: false
Save the start time stamp instead of the end.
This also affects the timestamp stored in result files.
Defaults to: true
Whether to use System.nanoTime() - otherwise only use System.currentTimeMillis().
Defaults to: true
Use a background thread to calculate the nanoTime offset.
Set this to a value less than zero to disable the background thread.
Defaults to: 5000
Since version 5.0 JMeter has a new SubResult Naming Policy which numbers subresults by default
This property if set to true discards renaming policy. This can be required if you're using JMeter for functional testing.
Defaults to: false
File that holds a record of name changes for backward compatibility issues.
Defaults to: /bin/upgrade.properties
N.B. The element was originally called the Proxy recorder, which is why the properties have the prefix "proxy". If the recorder detects a gap of at least 5s (default) between HTTP requests, it assumes that the user has clicked a new URL. Specified in milliseconds.
Defaults to: 5000
Add numeric prefix to Sampler names.
defaults to: true
List of URL patterns that will be added to URL Patterns to exclude.
Separate multiple lines with ;
Defaults to: .*\\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)
Change the default HTTP Sampler.
Can be one of
HTTPSampler or Java
Use the Java Sampler
HTTPSampler2
HttpClient4
Use Apache HTTPClient version 4
Defaults to: HttpClient4
By default JMeter tries to be more lenient with RFC 2616 redirects and allows relative paths.
If you want to test strict conformance, set this value to true.
When the property is true, JMeter follows RFC 3986 section 5.2.
Defaults to: false
Default content-type include filter to use. Specified as a regex.
Defaults to: text/html|text/plain|text/xml
Default content-type exclude filter to use. Specified as a regex.
Defaults to: image/.*|text/css|application/.*
Default headers to remove from Header Manager elements. Specified as comma separated list
The headers Cookie and Authorization are always removed. Defaults to: If-Modified-Since,If-None-Match,Host
Binary content-type handling.
These content-types will be handled by saving the request in a file.
Defaults to: application/x-amf,application/x-java-serialized-object,binary/octet-stream
The files will be saved in this directory.
Defaults to: user.dir
The files will be created suffixed with this value.
Defaults to: .binary
Whether to attempt disabling of samples that resulted from redirects where the generated samples use auto-redirection.
Defaults to: true
SSL configuration.
Defaults to: TLS
Defaults to: JMeter bin directory Defaults to: proxyserver.jks Defaults to: JKS Defaults to: password Defaults to: password Defaults to: SunX509 Define this property if you wish to use a special entry from the keystore.
Defaults to empty value
The default validity (in days) for certificates created by JMeter.
Defaults to: 7
Use dynamic key generation (if supported by JMeter/JVM).
If false, will revert to using a single key with no certificate.
Defaults to: true
Use command-line flags for user-name and password.
Defaults to: NTLM domain, if required by HTTPClient sampler
Space-separated list of parser groups.
For each parser, there should be a parser.types and a parser.className property Defaults to: htmlParser wmlParser cssParser
CSS Parser based on ph-css.
Defaults to: org.apache.jmeter.protocol.http.parser.CssParser
Content types handled by cssParser.
Defaults to: text/css
CSS parser LRU cache size. This cache stores the URLs found in a CSS to avoid continuously parsing the CSS. By default the cache size is 400. It can be disabled by setting its value to 0.
Defaults to: 400
Let the CSS Parser ignore all CSS errors.
Defaults to: true
Define the HTML parser to be used.
Do not comment this property.
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
This new parser (since 2.10) should perform better than all others. See 55632.
org.apache.jmeter.protocol.http.parser.JTidyHTMLParser
Default parser before JMeter version 2.10
org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
Note that Regexp extractor may detect references that have been commented out. In many cases it will work OK, but you should be aware that it may generate additional references.
org.apache.jmeter.protocol.http.parser.JsoupBasedHtmlParser
This parser is based on JSoup. It should be the most accurate parser, but it is less performant than LagartoBasedHtmlParser
Defaults to: org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
Used by HTTPSamplerBase to associate htmlParser with content types below.
Defaults to: text/html application/xhtml+xml application/xml text/xml
Defaults to: org.apache.jmeter.protocol.http.parser.RegexpHTMLParser Used by HTTPSamplerBase to associate wmlParser with content types below.
Defaults to: text/vnd.wap.wml

Configure how SampleResults are sent from server to client when using distributed testing.

Note that the mode is currently resolved on the client, while other properties (e.g. time_threshold) are resolved on the server.

Since JMeter version 2.9, default is StrippedBatch, which returns samples in batch mode (every 100 samples or every minute by default).
You can set mode by configuring:

mode=one of the possible modes below StrippedBatch strips response data from SampleResult, so if you need the response data, change to another mode.

Possible modes are:

Standard
Sends SampleResult one by one
Batch
Accumulates SampleResults before sending them. Configured by properties num_sample_threshold and time_threshold
Statistical
returns sample summary statistics. Configured by properties key_on_threadname and time_threshold
Stripped
Similar to Standard mode but strips Response from SampleResult. Configured by property sample_sender_strip_also_on_error
StrippedBatch
Same as Batch but strips Response from SampleResult. Configured by properties num_sample_threshold, time_threshold and sample_sender_strip_also_on_error
Asynch
Asynchronous sender; uses a queue and background worker process to return the samples. Configured by property asynch.batch.queue.size
StrippedAsynch
Same as Asynch but strips response data from SampleResult. Configured by properties asynch.batch.queue.size and sample_sender_strip_also_on_error
StrippedDiskStore
Same as DiskStore but strips response data from SampleResult
Class extending AbstractSampleSender (org.example.load.MySampleSender for example)
A custom implementation of your choice
How is Sample sender implementations configured:
true
(default) means client configuration will be used
false
means server configuration will be used
Defaults to: true
By default when Stripping modes are used JMeter since version 3.1 will strip response even for SampleResults in error. If you want to revert to previous behaviour (no stripping of Responses in error) set this property to false
Defaults to: true
Remote batching support.
Since JMeter version 2.9, default is StrippedBatch, which returns samples in batch mode (every 100 samples or every minute by default).
Note also that StrippedBatch strips response data from SampleResult, so if you need the response data, change to another mode.
Set to true to key statistical samples on threadName rather than threadGroup.
Defaults to: false
Number of SampleResults to accumulate before sending to client.
Defaults to: 100
Time to retain SampleResults before sending them to client. Value is in milliseconds.
Defaults to: 60000
Default queue size used by Async mode.
Defaults to: 100
String used to indicate a null value.
Defaults to: ]NULL[
Max bytes to store from a CLOB or BLOB in the sampler.
Defaults to: 65536 (bytes)
List of queries used to determine if the database is still responding.
Defaults to: select 1 from INFORMATION_SCHEMA.SYSTEM_USERS|select 1 from dual|select 1 from sysibm.sysdummy1|select 1|select 1 from rdb$database
List of JDBC driver class name
Defaults to: com.mysql.jdbc.Driver|org.postgresql.Driver|oracle.jdbc.OracleDriver|com.ingres.jdbc.IngresDriver|com.microsoft.sqlserver.jdbc.SQLServerDriver|com.microsoft.jdbc.sqlserver.SQLServerDriver|org.apache.derby.jdbc.ClientDriver|org.hsqldb.jdbc.JDBCDriver|com.ibm.db2.jcc.DB2Driver|org.apache.derby.jdbc.ClientDriver|org.h2.Driver|org.firebirdsql.jdbc.FBDriver|org.mariadb.jdbc.Driver|org.sqlite.JDBC|net.sourceforge.jtds.jdbc.Driver
Polling to see if process has finished its work, used when a timeout is configured on sampler. Specified in milliseconds.
Defaults to: 100
The default handler class.
Defaults to: TCPClientImpl
Set this to a value outside the range -128 to +127 to skip eol checking.
Defaults to byte value for end of line: 1000
TCP Charset, used by org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl.
Defaults to platforms default charset as returned by Charset.defaultCharset().name()
String at the beginning of the status response code.
Defaults to: Status
String at the end of the status response code.
defaults to: .
Property file to convert codes to messages.
Defaults to: mytestfiles/tcpstatus.properties
The length prefix used by LengthPrefixedBinaryTCPClientImpl implementation (in bytes).
Defaults to: 2
Comment the following property to disable the default CLI mode summariser.
[or change the value to rename it]
Applies to CLI mode only Defaults to: summary
Interval between summaries (in seconds).
Defaults to: 30
Write messages to log file.
Defaults to: true
Write messages to System.out.
Defaults to: true
Ignore SampleResults generated by TransactionControllers.
Defaults to: true
Percentiles to display in reports.
Given as a float value between 0 and 100 (means percent).
First percentile to display.
Defaults to: 90
Second percentile to display.
Given as a float value between 0 and 100 (means percent).
Defaults to: 95
Second percentile to display.
Given as a float value between 0 and 100 (means percent).
Defaults to: 99
Send interval in seconds.
Defaults to: 1 second
Send interval in seconds.
Defaults to: 5 seconds
InfluxDB connection timeout.
Defaults to: 1000 millis
InfluxDB socket read timeout.
Defaults to: 3000 millis
InfluxDB timeout to get a connection.
Defaults to: 100 millis
Backend metrics sliding window size for Percentiles, Min and Max.
Defaults to: 100
Backend metrics sliding window size for Percentiles, Min and Max. when backend_metrics_window_mode=timed
Setting this value too high can lead to OOM Backend metrics sliding window size Defaults to: 5000
Backend metrics window mode. Possible values:
  • fixed : fixed-size window
  • timed : time boxed
Defaults to: fixed
BeanShell Server properties.
Define the port number as non-zero to start the http server on that port.
The telnet server will be started on the next port.
Defaults to: 0 (i.e. don't start the server) There is no security. Anyone who can connect to the port can issue any BeanShell commands. These can provide unrestricted access to the JMeter application and the host. Do not enable the server unless the ports are protected against access, e.g. by a firewall.
Define the server initialisation file.
Defaults to: ../extras/startup.bsh
Define a file to be processed at startup.
This is processed using its own interpreter.
Defaults to empty value.
Define the initialisation files for BeanShell Sampler, Function and other BeanShell elements.
N.B. Beanshell test elements do not share interpreters. Each element in each thread has its own interpreter. This is retained between samples. Defaults to empty value.
Defaults to empty value. Defaults to empty value. Defaults to empty value. Defaults to empty value. Defaults to empty value. Defaults to empty value.

The file BeanShellListeners.bshrc contains sample definitions of Test and Thread Listeners.

Number of successful samples before a message is sent.
Defaults to: 2
Number of failed samples before a message is sent.
Defaults to: 2
CSVRead delimiter setting (default ",").
Make sure that there are no trailing spaces or tabs after the delimiter characters, or these will be included in the list of valid delimiters. Defaults to: ,
This and the following properties can be used to redefine the default time formats.
Defaults to: yyyyMMdd
Defaults to: HHmmss Defaults to: yyyyMMdd-HHmmss Defaults to empty value Defaults to empty value
String to return at EOF (if recycle not used).
Defaults to: <EOF>
List of file encoding values
Defaults to: platform default
Maximum number of search results returned by a search that will be sorted to guarantee a stable ordering (if more results then this limit are returned then no sorting is done).
Set to zero to turn off all sorting, in which case "Equals" response assertions will be very likely to fail against search results.
Defaults to: 1000
Number of characters to log for each of three sections (starting matching section, diff section, ending matching section where not all sections will appear for all diffs) diff display when an Equals assertion fails. So a value of 100 means a maximum of 300 characters of diff text will be displayed (plus a number of extra characters like "..." and "[[["/"]]]" which are used to decorate it).
Defaults to: 100
Test written out to log to signify start/end of diff delta.
Defaults to: [[[
Defaults to: ]]]
Size of cache used by CSS Selector Extractor (for JODD implementation only) to store parsed CSS Selector expressions.
Defaults to: 400
Used to control what happens when you start a test and have listeners that could overwrite existing result files.
Possible values:
  • ASK : Ask user
  • APPEND : Append results to existing file
  • DELETE : Delete existing file and start a new file
If defined and greater then zero, then start the mirror server on the port.
Defaults to: 0
ORO PatternCacheLRU size.
Defaults to: 1000
TestBeanGui
Defaults to: null
Turn expert mode on/off: expert mode will show expert-mode beans and properties.
Defaults to: true
Max size of bytes stored in memory per SampleResult. Ensure that you don't exceed the maximum capacity of a Java Array and remember that the higher you set this value, the more memory JMeter will consume.
Defaults to: 0 bytes which means no truncation will occur
Max size of buffer in bytes used when reading responses.
Defaults to: 66560 bytes
Maximum redirects to follow in a single sequence.
Defaults to: 20
Maximum frame/iframe nesting depth.
defaults to: 5
Revert to 51939 behaviour (no separate container for embedded resources) by setting the following false.
defaults to: true
If embedded resources download fails due to missing resources or other reasons, if this property is true, Parent sample will not be marked as failed.
Defaults to: false
Keep-alive time for the parallel download threads (in seconds).
Defaults to: 60
Don't keep the embedded resources response data; just keep the size and the MD5 sum.
Defaults to: false
List of extra HTTP methods that should be available in select box.
Defaults to: VERSION-CONTROL,REPORT,CHECKOUT,CHECKIN,UNCHECKOUT,MKWORKSPACE,UPDATE,LABEL,MERGE,BASELINE-CONTROL,MKACTIVITY
The encoding to be used if none is provided.
Defaults to: ISO-8859-1
CookieManager behaviour - should cookies with null/empty values be deleted?
Use false to revert to original behaviour.
Defaults to: true
CookieManager behaviour - should variable cookies be allowed?
Use false to revert to original behaviour.
Defaults to: true
CookieManager behaviour - should Cookies be stored as variables?
Default to: false
CookieManager behaviour - prefix to add to cookie name before storing it as a variable.
Default is COOKIE_; to remove the prefix, define it as one or more spaces.
Defaults to: COOKIE_
CookieManager behaviour - check received cookies are valid before storing them?
Use false to revert to previous behaviour.
Defaults to: true
Netscape HTTP Cookie file.
Defaults to: cookies
Ability to switch to Rhino as default Javascript Engine used by IfController and function.
JMeter uses Nashorn since 3.2 version. If you want to use Rhino, set this value to true Defaults to: false
Number of milliseconds to wait for a thread to stop.
Defaults to: 5000
Whether to invoke System.exit(0) in server exit code after stopping RMI.
Defaults to: false
Whether to call System.exit(1) on failure to stop threads in CLI mode.
This only takes effect if the test was explicitly requested to stop.
If this is disabled, it may be necessary to kill the JVM externally.
Defaults to: true
Whether to force call System.exit(0) at end of test in CLI mode, even if there were no failures and the test was not explicitly asked to stop.
Without this, the JVM may never exit if there are other threads spawned by the test which never exit.
Defaults to: false
How long to pause (in ms) in the daemon thread before reporting that the JVM has failed to exit.
If the value is less than zero, the JMeter does not start the daemon thread
Defaults to: 2000
If running CLI mode, then JMeter listens on the following port for a shutdown message.
To disable, set the port to 1000 or less.
Defaults to: 4445
If the initial port is busy, keep trying until this port is reached (to disable searching, set the value less than or equal to the .port property).
Defaults to: 4455
How often to check for shutdown during ramp-up (milliseconds).
Defaults to: 1000
Should JMeter expand the tree when loading a test plan?
Default value is false since JMeter 2.7
Defaults to: false
JSyntaxTextArea configuration.
Defaults to: true
Defaults to: true Defaults to: true Set to zero to disable undo feature in JSyntaxTextArea.
Defaults to: 50
Change the font on the (JSyntax) Text Areas. (Useful for HiDPI screens).
Defaults to empty value, which means platform default monospaced font
Change the size of the (JSyntax) Text Areas. Will be used only, when jsyntaxtextarea.font.family is set.
Defaults to: -1
Set this to false to disable the use of JSyntaxTextArea for the Console Logger panel.
Defaults to: true
Maximum number of main samples, that should be stored and displayed.
A value of 0 will store all results. This might consume a lot of memory.
Defaults to: 500
Maximum size (in bytes) of HTML page that can be displayed.
Set to zero to disable the size check and display the whole response.
Defaults to: 10485760
Order of Renderers in View Results Tree.
Note full class names should be used for non JMeter core renderers For JMeter core renderers, class names start with . and are automatically prefixed with org.apache.jmeter.visualizers
Defaults to: .RenderAsText,.RenderAsRegexp,.RenderAsCssJQuery,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsJSON,.RenderAsXML
Maximum size (in bytes) of Document that can be parsed by Tika engine
Set to zero to disable the size check.
Defaults to: 10485760
JMS options.
Enable the following property to stop JMS Point-to-Point Sampler from using the properties java.naming.security.[principal|credentials] when creating the queue connection.
Defaults to: false
Set the following value to true in order to skip the delete confirmation dialogue.
Defaults to: false
List of directories (separated by ;) to search for additional JMeter plugin classes, for example new GUI elements and samplers.
Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.
The given value is in addition to any jars found in the lib/ext directory.
Do not use this for utility or plugin dependency jars.
Defaults to empty value.
List of directories that JMeter will search for utility and plugin dependency classes.
Use your platform path separator (java.io.File.pathSeparatorChar in Java) to separate multiple paths.
Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.
The given value is in addition to any jars found in the lib directory.
All entries will be added to the class path of the system class loader and also to the path of the JMeter internal loader.
Paths with spaces may cause problems for the JVM.
Defaults to empty value.
List of directories (separated by ;) that JMeter will search for utility and plugin dependency classes.
Any jar file in such a directory will be automatically included; jar files in sub directories are ignored.
The given value is in addition to any jars found in the lib directory or given by the user.classpath property.
All entries will be added to the path of the JMeter internal loader only.
For plugin dependencies this property should be used instead of user.classpath.
Defaults to empty value.
The classpath finder currently needs to load every single JMeter class to find the classes it needs.
For CLI mode, it's only necessary to scan for Function classes, but all classes are still loaded.
All current Function classes include ".function." in their name, and none include ".gui." in the name, so the number of unwanted classes loaded can be reduced by checking for these. However, if a valid function class name does not match these restrictions, it will not be loaded. If problems are encountered, then comment or change this or the following property.
Defaults to: .functions.
Defaults to: .gui.
Sets the satisfaction threshold for the APDEX calculation (in milliseconds).
Defaults to: 500
Sets the tolerance threshold for the APDEX calculation (in milliseconds).
Defaults to: 1500
Regular Expression which Indicates which samples to keep for graphs and statistics generation.
Empty value means no filtering
Defaults to empty value.
Sets the temporary directory used by the generation process if it needs file I/O operations.
Defaults to: temp
Sets the size of the sliding window used by percentile evaluation.
Caution: higher value provides a better accuracy but needs more memory. Defaults to: 20000
Configure this property to change the report title
Defaults to: Apache JMeter Dashboard
Defines the overall granularity for over time graphs
Defaults to: 60000
Response Time Percentiles graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer
Defaults to: Response Time Percentiles Response Time Distribution graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer
Defaults to: Response Time Distribution Defaults to: 100 Active Threads Over Time graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer
Defaults to: Active Threads Over Time Defaults to: ${jmeter.reportgenerator.overall_granularity} Time VS Threads graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer
Defaults to: Time VS Threads Bytes Throughput Over Time graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer
Defaults to: Bytes Throughput Over Time Defaults to: ${jmeter.reportgenerator.overall_granularity} Response Time Over Time graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer
Defaults to: Response Time Over Time Defaults to: ${jmeter.reportgenerator.overall_granularity} Latencies Over Time graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer
Defaults to: Latencies Over Time Defaults to: ${jmeter.reportgenerator.overall_granularity} Response Time Vs Request graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer
Defaults to: Response Time Vs Request Defaults to: true Defaults to: ${jmeter.reportgenerator.overall_granularity} Latencies Vs Request graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer
Defaults to: Latencies Vs Request Defaults to: true Defaults to: ${jmeter.reportgenerator.overall_granularity} Hits Per Second graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer
Defaults to: Hits Per Second Defaults to: true Defaults to: ${jmeter.reportgenerator.overall_granularity} Codes Per Second graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer
Defaults to: Codes Per Second Defaults to: true Defaults to: ${jmeter.reportgenerator.overall_granularity} Transactions Per Second graph definition
Defaults to: org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer
Defaults to: Transactions Per Second Defaults to: ${jmeter.reportgenerator.overall_granularity} HTML Export
Defaults to: org.apache.jmeter.report.dashboard.HtmlTemplateExporter
Sets the source directory of templated files from which the html pages are generated.
Defaults to: report-template
Sets the destination directory for generated html pages.
This will be overridden by the command line option -o.
Defaults to: report-output
Regular Expression which Indicates which graph series are filtered in display.
Empty value means no filtering.
Defaults to empty value.
Indicates whether series filter apply only on sample series
Defaults to: true
Indicates whether only controller samples are displayed on graphs that support it.
Defaults to: false
Date format of report using by start_date and end_date properties.
Defaults to: yyyyMMddHHmmss
Start date of report using date_format property.
Defaults to: nothing
End date of report using date_format property.
Defaults to: nothing
Timeout in milliseconds for Report generation when using Tools > Generate HTML report.
Defaults to: 120000
Should JMeter automatically load additional JMeter properties?
File name to look for (comment to disable)
Defaults to: user.properties
Should JMeter automatically load additional system properties?
File name to look for (comment to disable)
Defaults to: system.properties
Comma separated list of files that contain reference to templates and their description.
Path must be relative to JMeter root folder
Defaults to: /bin/templates/templates.xml
Validation is the name of the feature used to rapidly validate a Thread Group runs fine Default implementation is org.apache.jmeter.gui.action.validation.TreeClonerForValidation It runs validation without timers, with one thread and one iteration.
You can implement your own policy that must extend org.apache.jmeter.engine.TreeCloner.
JMeter will instantiate it and use it to create the Tree used to run validation on Thread Group.
Defaults to: org.apache.jmeter.gui.action.validation.TreeClonerForValidation
Number of threads to use to validate a Thread Group.
Defaults to: 1
Ignore timers when validating the thread group of plan.
Defaults to: true
Ignore BackendListener when validating the thread group of plan.
Defaults to: true
Number of iterations to use to validate a Thread Group.
Defaults to: 1
Force throughput controllers that work in percentage mode to be a 100%.
Defaults to: false
Timer are used to introduce think time in your plan. Apply a factor on computed pauses by the following Timers:
  • Gaussian Random Timer
  • Uniform Random Timer
  • Poisson Random Timer
Defaults to: 1.0f
Default implementation that create the Timer structure to add to Test Plan. Implementation of interface org.apache.jmeter.gui.action.thinktime.ThinkTimeCreator Defaults to: org.apache.jmeter.thinktime.DefaultThinkTimeCreator Default Timer GUI class added to Test Plan by DefaultThinkTimeCreator Defaults to: org.apache.jmeter.timers.gui.UniformRandomTimerGui Default constant pause of Timer Defaults to: 1000 Default range pause of Timer Defaults to: 100
^
Timer are used to introduce think time in your plan. Prefix used when naming elements. Defaults to empty prefix Prefix used when naming elements. Defaults to empty suffix Implementation of interface org.apache.jmeter.gui.action.TreeNodeNamingPolicy Default implementation that create the Timer structure to add to Test Plan. Implementation of interface org.apache.jmeter.gui.action.thinktime.ThinkTimeCreator Defaults to: org.apache.jmeter.gui.action.impl.DefaultTreeNodeNamingPolicy ^
Controls how documentation in JMeter is displayed Switch that allows using Local documentation opened in JMeter GUI.
By default we use Online documentation opened in Browser. Defaults to false
Advanced properties for configuration of scripting in Groovy Path to Groovy file containing utility functions to make available to function.
Defaults to bin/utility.groovy
Advanced properties for configuration of scripting in JSR-223

Path to JSR-223 file containing script to call on JMeter startup.

The actual scripting engine to use will be determined by the extension of the init file name. If the file name has no extension, or no scripting engine could be found for that extension, Groovy will be used.

This script can use pre-defined variables:

  • log: Logger to log any message, uses SLF4J library
  • props: JMeter Properties
  • OUT: System.OUT, useful to write in the console
No script is defined by default.
Used by JSR-223 elements.
Size of compiled scripts cache.
Defaults to: 100
Advanced properties for documentation generation Path to XSL file used to generate Schematic View of Test Plan.
When empty, JMeter will use the embedded one in src/core/org/apache/jmeter/gui/action/schematic.xsl
No default value