19 Introduction
Section titled “19 Introduction”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.
19.1 Language
Section titled “19.1 Language”| Name | Required | Description |
|---|---|---|
| language | No | Preferred GUI language. Comment out to use the JVM default locale’s language. Example: language=en :::note This property is the only one that must be set in jmeter.properties file ::: :::note 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 ::: |
| locales.add | No | 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 |
19.2 XML Parser
Section titled “19.2 XML Parser”| Name | Required | Description |
|---|---|---|
| xpath.namespace.config | No | Path to a Properties file containing Namespace mapping in the form prefix=Namespace. Example: ns=http://biz.aol.com/schema/2006-12-18 |
| xpath2query.parser.cache.size | No | XPath2 query cache for storing compiled XPath queries Defaults to 400 |
19.3 SSL configuration
Section titled “19.3 SSL configuration”| Name | Required | Description |
|---|---|---|
| https.sessioncontext.shared | No | 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 |
| https.default.protocol | No | Be aware that https default protocol may vary depending on the version of JVM. See Diagnosing TLS, SSL and HTTPS and Bug 58236. Default HTTPS protocol level: https.default.protocol=TLS This may need to be changed to: https.default.protocol=SSLv3 |
| https.socket.protocols | No | 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 Bug 54759, example: https.socket.protocols=SSLv2Hello SSLv3 TLSv1 |
| https.cipherSuites | No | 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. |
| httpclient.reset_state_on_thread_group_iteration | No | 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 |
| https.use.cached.ssl.context | No | 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 :::note DEPRECATED, you should use httpclient.reset_state_on_thread_group_iteration with correct value ::: |
| https.keyStoreStartIndex | No | Start index to be used with keystores with many entries. The default is to use entry 0, i.e. the first. Defaults to: 0 |
| https.keyStoreEndIndex | No | End index to be used with keystores with many entries. Defaults to: 0 |
19.4 Look and Feel configuration
Section titled “19.4 Look and Feel configuration”| Name | Required | Description |
|---|---|---|
| jmeter.laf.windows_10 | No | 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 ‘_’). #### Order of LAF property lookup 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 :::note 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 Bug 52026 for details. ::: :::note 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. ::: |
| jmeter.loggerpanel.display | No | Display LoggerPanel. Defaults to: false |
| jmeter.loggerpanel.enable_when_closed | No | Enable LogViewer Panel to receive log event even when closed. Enabled since 2.12 :::note Note this has some impact on performances, but as GUI mode must not be used for Load Test it is acceptable ::: Defaults to: true |
| jmeter.loggerpanel.maxlength | No | Max lines kept in LoggerPanel, 0 means no limit. Defaults to: 1000 |
| jmeter.gui.refresh_period | No | Interval period in ms to process the events of the listeners. Defaults to: 500 |
19.4.1 Darklaf configuration
Section titled “19.4.1 Darklaf configuration”| Name | Required | Description |
|---|---|---|
| darklaf.decorations | No | Enables custom window chrome when using a Darklaf Look And Feel. Defaults to: false |
| darklaf.unifiedMenuBar | No | Enables the unified menubar on Windows when using a Darklaf Look and Feel. This property only has an effect if darklaf.native is true. Defaults to: true |
19.5 Toolbar display
Section titled “19.5 Toolbar display”| Name | Required | Description |
|---|---|---|
| jmeter.toolbar.icons | No | Toolbar icon definitions. Defaults to org/apache/jmeter/images/toolbar/icons-toolbar.properties |
| jmeter.toolbar | No | Toolbar list. Defaults to: ``` new,open,close,save,save_as_testplan, |
| jmeter.toolbar.icons.size | No | Available sizes are: 22x22, 32x32, 48x48. Suggested value for HiDPI mode is jmeter.toolbar.icons.size=48x48 Defaults to: 22x22 |
| jmeter.icons | No | 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 |
| jmeter.tree.icons.size | No | 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 |
| jmeter.hidpi.mode | No | 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 |
| jmeter.hidpi.scale.factor | No | HiDPI scale factor. Suggested value for HiDPI: 2.0. Defaults to: 1.0 |
| not_in_menu | No | Components to not display in JMeter GUI (GUI class name or static label). |
| undo.history.size | No | Number of items in undo history. Feature is disabled by default (0) due to known and not fixed bugs Bug 57043, Bug 57039 and Bug 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 |
| gui.quick_X | No | 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 Ctrl + 0 … Ctrl + 9 (&command; + 0 … &command; + 9 on Mac) |
19.6 JMX Backup configuration
Section titled “19.6 JMX Backup configuration”| Name | Required | Description |
|---|---|---|
| jmeter.gui.action.save.backup_on_save | No | 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 |
| jmeter.gui.action.save.backup_directory | No | 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 |
| jmeter.gui.action.save.keep_backup_max_hours | No | 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 |
| jmeter.gui.action.save.keep_backup_max_count | No | 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 |
| save_automatically_before_run | No | 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 |
19.7 Remote hosts and RMI configuration
Section titled “19.7 Remote hosts and RMI configuration”| Name | Required | Description |
|---|---|---|
| remote_hosts | No | Remote Hosts - comma delimited, for example remote_hosts=localhost:1099,localhost:2010 Defaults to: 127.0.0.1 |
| server_port | No | 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 |
| client.rmi.localport | No | Parameter that controls the RMI ports used by RemoteSampleListenerImpl and RemoteThreadsListenerImpl (The Controller) Default value is 0, which means ports are randomly assigned. If this is non-zero, it will be used as the base for local port numbers for the client engine. At the moment JMeter will open up to three ports beginning with the port defined in this property. :::note You may need to open corresponding ports in the firewall on the Controller machine. ::: Defaults to: 0 |
| client.tries | No | 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 |
| client.retries_delay | No | If initialization is retried, this property sets the delay between those attempts in milliseconds. Defaults to: 5000 |
| client.continue_on_fail | No | 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 |
| server.rmi.port | No | To change the default port (1099) used to access the server. Defaults to: 1099 |
| server.rmi.localport | No | To use a specific port for the JMeter server engine, define this property before starting the server. Defaults to: 4000 |
| server.rmi.create | No | 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 |
| server.exitaftertest | No | From JMeter version 2.3.1, define this property to cause JMeter to exit after the first test. Defaults to: true |
| server.rmi.ssl.keystore.type | No | 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 |
| server.rmi.ssl.keystore.file | No | Keystore file that contains private key Defaults to: rmi_keystore.jks |
| server.rmi.ssl.keystore.password | No | Password of Keystore Defaults to: changeit |
| server.rmi.ssl.keystore.alias | No | Key alias Defaults to: rmi |
| server.rmi.ssl.truststore.type | No | Type of truststore for RMI connection security Defaults to: the value of server.rmi.ssl.keystore.type, which is JKS |
| server.rmi.ssl.truststore.file | No | Keystore file that contains certificate Defaults to: the value of server.rmi.ssl.keystore.file, which is rmi_keystore.jks |
| server.rmi.ssl.truststore.password | No | Password of Trust store Defaults to: the value of server.rmi.ssl.keystore.password, which is changeit |
| server.rmi.ssl.disable | No | Set this to true if you don’t want to use SSL for RMI Defaults to: false |
19.8 Include Controller
Section titled “19.8 Include Controller”| Name | Required | Description |
|---|---|---|
| includecontroller.prefix | No | Prefix used by IncludeController when building file names. Defaults to empty value |
19.9 HTTP Java configuration
Section titled “19.9 HTTP Java configuration”| Name | Required | Description |
|---|---|---|
| http.java.sampler.retries | No | Number of connection retries performed by HTTP Java sampler before giving up. 0 means no retry since version 3.0. Defaults to: 0 |
19.10 Apache HttpClient common properties
Section titled “19.10 Apache HttpClient common properties”| Name | Required | Description |
|---|---|---|
| http.post_add_content_type_if_missing | No | 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 |
| httpclient.timeout | No | 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 |
| httpclient.version | No | Set the http version. Defaults to: 1.1 (or use the parameter http.protocol.version) |
| httpclient.socket.http.cps | No | Set characters per second to a value greater then zero to emulate slow connections. Defaults to: 0 |
| httpclient.socket.https.cps | No | Same as before but for https. Defaults to: 0 |
| httpclient.loopback | No | Enable loopback protocol. Defaults to: true |
| httpclient.localaddress | No | Define the local host address to be used for multi-homed hosts, example httpclient.localaddress=1.2.3.4 |
| http.proxyUser | No | Set the user name to use with a proxy. |
| http.proxyPass | No | Set the password to use with a proxy. |
19.11 Kerberos properties
Section titled “19.11 Kerberos properties”| Name | Required | Description |
|---|---|---|
| kerberos_jaas_application | No | AuthManager Kerberos configuration Name of application module used in jaas.conf. Defaults to: JMeter |
| kerberos.spnego.strip_port | No | Should port be stripped from urls before constructing SPNs for SPNEGO authentication. Defaults to: true |
| kerberos.spnego.use_canonical_host_name | No | Should the host name for constructing SPN be canonicalized for SPNEGO authentication. |
| kerberos.spnego.delegate_cred | No | Should SPNEGO authentication should use delegation of credentials. Defaults to: false |
19.12 Apache HttpClient logging examples
Section titled “19.12 Apache HttpClient logging examples”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" />19.13 Apache HttpComponents HTTPClient configuration (HTTPClient4)
Section titled “19.13 Apache HttpComponents HTTPClient configuration (HTTPClient4)”| Name | Required | Description |
|---|---|---|
| hc.parameters.file | No | Define a properties file for overriding Apache HttpClient parameters. Uncomment this line if you put anything in hc.parameters file. Defaults to: hc.parameters |
| httpclient4.auth.preemptive | No | Preemptively send Authorization Header when BASIC auth is used Defaults to: true |
| httpclient4.retrycount | No | 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 |
| httpclient4.request_sent_retry_enabled | No | 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 |
| httpclient4.idletimeout | No | 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) |
| httpclient4.validate_after_inactivity | No | 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: 4900 |
| httpclient4.time_to_live | No | TTL (in milliseconds) represents an absolute value. No matter what, the connection will not be re-used beyond its TTL. Defaults to: 60000 |
| httpclient4.deflate_relax_mode | No | Ignore EOFException that some edgy application may emit to signal end of Deflated stream. Defaults to: false |
| httpclient4.gzip_relax_mode | No | Ignore EOFException that some edgy application may emit to signal end of GZipped stream. Defaults to: false |
| httpclient4.default_user_agent_disabled | No | If true, default HC4 User-Agent (Apache-HttpClient/X.Y.Z (Java/A.B.C_D)) will not be added. Defaults to: false |
19.14 HTTP Cache Manager configuration
Section titled “19.14 HTTP Cache Manager configuration”| Name | Required | Description |
|---|---|---|
| cacheable_methods | No | Space or comma separated list of methods that can be cached. Defaults to: GET |
| cache_manager.cached_resource_mode | No | :::note N.B. This property is currently a temporary solution for Bug 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 |
| RETURN_CUSTOM_STATUS.code | No | This lets you select what response code you want to return if mode RETURN_CUSTOM_STATUS is selected. Defaults to empty value. |
| RETURN_CUSTOM_STATUS.message | No | This lets you select what response message you want to return if mode RETURN_CUSTOM_STATUS is selected. Defaults to empty value |
19.15 Results file configuration
Section titled “19.15 Results file configuration”| Name | Required | Description |
|---|---|---|
| jmeter.save.saveservice.output_format | No | 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 |
| jmeter.save.saveservice.assertion_results_failure_message | No | true when field should be saved; false otherwise. assertion_results_failure_message only affects CSV output. Defaults to: true |
| jmeter.save.saveservice.assertion_results | No | Legitimate values: none, first, all. Defaults to: none |
| jmeter.save.saveservice.data_type | No | Defaults to: true |
| jmeter.save.saveservice.label | No | Defaults to: true |
| jmeter.save.saveservice.response_code | No | Defaults to: true |
| jmeter.save.saveservice.response_data | No | :::note response_data is currently not supported for CSV output ::: Defaults to: false |
| jmeter.save.saveservice.response_data.on_error | No | Save ResponseData for failed samples. Defaults to: false |
| jmeter.save.saveservice.response_message | No | Defaults to: true |
| jmeter.save.saveservice.successful | No | Defaults to: true |
| jmeter.save.saveservice.thread_name | No | Defaults to: true |
| jmeter.save.saveservice.time | No | Defaults to: true |
| jmeter.save.saveservice.subresults | No | Defaults to: true |
| jmeter.save.saveservice.assertions | No | Defaults to: true |
| jmeter.save.saveservice.latency | No | Defaults to: true |
| jmeter.save.saveservice.connect_time | No | Defaults to: false |
| jmeter.save.saveservice.samplerData | No | Defaults to: false |
| jmeter.save.saveservice.responseHeaders | No | Defaults to: false |
| jmeter.save.saveservice.requestHeaders | No | Defaults to: false |
| jmeter.save.saveservice.encoding | No | Defaults to: false |
| jmeter.save.saveservice.bytes | No | Defaults to: true |
| jmeter.save.saveservice.url | No | Defaults to: false |
| jmeter.save.saveservice.filename | No | Defaults to: false |
| jmeter.save.saveservice.hostname | No | Defaults to: false |
| jmeter.save.saveservice.thread_counts | No | Defaults to: true |
| jmeter.save.saveservice.sample_count | No | Defaults to: false |
| jmeter.save.saveservice.idle_time | No | Defaults to: true |
| jmeter.save.saveservice.timestamp_format | No | Timestamp format - this only affects CSV output files. Legitimate values: none, ms, or a format suitable for SimpleDateFormat. Defaults to: ms |
| jmeter.save.saveservice.timestamp_format | No | Defaults to: yyyy/MM/dd HH:mm:ss.SSS |
| jmeter.save.saveservice.default_delimiter | No | For use with Comma-separated value (CSV) files or other formats where the fields’ values are separated by specified delimiters. Defaults to: , :::note For TAB, one can use \t ::: |
| jmeter.save.saveservice.print_field_names | No | Only applies to CSV format files: Print field names as first line in CSV Defaults to: true |
| sample_variables | No | 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 |
| jmeter.save.saveservice.xml_pi | No | :::note 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 |
| jmeter.save.saveservice.base_prefix | No | Prefix used to identify filenames that are relative to the current base. Defaults to: ~/ |
| jmeter.save.saveservice.autoflush | No | 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 |
19.16 Settings that affect SampleResults
Section titled “19.16 Settings that affect SampleResults”| Name | Required | Description |
|---|---|---|
| sampleresult.timestamp.start | No | Save the start time stamp instead of the end. This also affects the timestamp stored in result files. Defaults to: false |
| sampleresult.useNanoTime | No | Whether to use System.nanoTime() - otherwise only use System.currentTimeMillis(). Defaults to: true |
| sampleresult.nanoThreadSleep | No | 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 |
| subresults.disable_renaming | No | 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 |
19.17 Upgrade
Section titled “19.17 Upgrade”| Name | Required | Description |
|---|---|---|
| upgrade_properties | No | File that holds a record of name changes for backward compatibility issues. Defaults to: /bin/upgrade.properties |
19.18 JMeter Test Script recorder configuration
Section titled “19.18 JMeter Test Script recorder configuration”| Name | Required | Description |
|---|---|---|
| proxy.pause | No | :::note 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 |
| proxy.number.requests | No | Add numeric suffix to Sampler names. defaults to: true |
| proxy.sampler_format | No | Default format string for new samplers when Use format string is selected as naming scheme. Defaults to: #{counter,number,000} - #{path} (#{name}) |
| proxy.excludes.suggested | No | List of URL patterns that will be added to URL Patterns to exclude. Separate multiple lines with ; Defaults to: `.*\.(bmp |
| jmeter.httpsampler | No | 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 |
| jmeter.httpclient.strict_rfc2616 | No | 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 |
| proxy.content_type_include | No | Default content-type include filter to use. Specified as a regex. Defaults to: `text/html |
| proxy.content_type_exclude | No | Default content-type exclude filter to use. Specified as a regex. Defaults to: `image/.* |
| proxy.headers.remove | No | Default headers to remove from Header Manager elements. Specified as comma separated list :::note The headers Cookie and Authorization are always removed. ::: Defaults to: If-Modified-Since,If-None-Match,Host |
| proxy.binary.types | No | 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 |
| proxy.binary.directory | No | The files will be saved in this directory. Defaults to: user.dir |
| proxy.binary.filesuffix | No | The files will be created suffixed with this value. Defaults to: .binary |
| proxy.redirect.disabling | No | Whether to attempt disabling of samples that resulted from redirects where the generated samples use auto-redirection. Defaults to: true |
| proxy.ssl.protocol | No | SSL configuration. Defaults to: TLS |
19.19 Test Script Recorder certificate configuration
Section titled “19.19 Test Script Recorder certificate configuration”| Name | Required | Description |
|---|---|---|
| proxy.cert.directory | No | Defaults to: JMeter bin directory |
| proxy.cert.file | No | Defaults to: proxyserver.jks |
| proxy.cert.type | No | Defaults to: JKS |
| proxy.cert.keystorepass | No | Defaults to: password |
| proxy.cert.keypassword | No | Defaults to: password |
| proxy.cert.factory | No | Defaults to: SunX509 |
| proxy.cert.alias | No | Define this property if you wish to use a special entry from the keystore. Defaults to empty value |
| proxy.cert.validity | No | The default validity (in days) for certificates created by JMeter. Defaults to: 7 |
| proxy.cert.dynamic_keys | No | Use dynamic key generation (if supported by JMeter/JVM). If false, will revert to using a single key with no certificate. Defaults to: true |
19.20 JMeter Proxy configuration
Section titled “19.20 JMeter Proxy configuration”| Name | Required | Description |
|---|---|---|
| http.proxyDomain | No | Use command-line flags for user-name and password. Defaults to: NTLM domain, if required by HTTPClient sampler |
19.21 HTML Parser configuration
Section titled “19.21 HTML Parser configuration”| Name | Required | Description |
|---|---|---|
| HTTPResponse.parsers | No | Space-separated list of parser groups. :::note For each parser, there should be a _parser_.types and a _parser_.className property ::: Defaults to: htmlParser wmlParser cssParser |
| cssParser.className | No | CSS Parser based on ph-css. Defaults to: org.apache.jmeter.protocol.http.parser.CssParser |
| cssParser.types | No | Content types handled by cssParser. Defaults to: text/css |
| css.parser.cache.size | No | 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 |
| css.parser.ignore_all_css_errors | No | Let the CSS Parser ignore all CSS errors. Defaults to: true |
| htmlParser.className | Yes | 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 Bug 55632. org.apache.jmeter.protocol.http.parser.JTidyHTMLParser : Default parser before JMeter version 2.10 org.apache.jmeter.protocol.http.parser.RegexpHTMLParser : :::note 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 |
| htmlParser.types | No | Used by HTTPSamplerBase to associate htmlParser with content types below. Defaults to: text/html application/xhtml+xml application/xml text/xml |
| wmlParser.className | No | Defaults to: org.apache.jmeter.protocol.http.parser.RegexpHTMLParser |
| wmlParser.types | No | Used by HTTPSamplerBase to associate wmlParser with content types below. Defaults to: text/vnd.wap.wml |
19.22 Remote batching configuration
Section titled “19.22 Remote batching configuration”Configure how SampleResults are sent from server to client when using distributed testing.
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_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
| Name | Required | Description |
|---|---|---|
| sample_sender_client_configured | No | How is Sample sender implementations configured: true : (default) means client configuration will be used false : means server configuration will be used Defaults to: true |
| sample_sender_strip_also_on_error | No | 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 |
| mode | No | 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 Note also that StrippedBatch strips response data from SampleResult, so if you need the response data, change to another mode. ::: |
| key_on_threadname | No | Set to true to key statistical samples on threadName rather than threadGroup. Defaults to: false |
| num_sample_threshold | No | Number of SampleResults to accumulate before sending to client. Defaults to: 100 |
| time_threshold | No | Time to retain SampleResults before sending them to client. Value is in milliseconds. Defaults to: 60000 |
| asynch.batch.queue.size | No | Default queue size used by Async mode. Defaults to: 100 |
19.23 JDBC Request configuration
Section titled “19.23 JDBC Request configuration”| Name | Required | Description |
|---|---|---|
| jdbcsampler.nullmarker | No | String used to indicate a null value. Defaults to: ]NULL[ |
| jdbcsampler.max_retain_result_size | No | Max bytes to store from a CLOB or BLOB in the sampler. Defaults to: 65536 (bytes) |
| jdbc.config.check.query | No | List of queries used to determine if the database is still responding. Defaults to: ``` select 1 from INFORMATION_SCHEMA.SYSTEM_USERS |
| jdbc.config.jdbc.driver.class | No | List of JDBC driver class name Defaults to: ``` com.mysql.cj.jdbc.Driver |
19.24 OS Process Sampler configuration
Section titled “19.24 OS Process Sampler configuration”19.25 TCP Sampler configuration
Section titled “19.25 TCP Sampler configuration”| Name | Required | Description |
|---|---|---|
| tcp.handler | No | The default handler class. Defaults to: TCPClientImpl |
| tcp.eolByte | No | 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 | No | TCP Charset, used by org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl. Defaults to platforms default charset as returned by Charset.defaultCharset().name() |
| tcp.status.prefix | No | String at the beginning of the status response code. Defaults to: Status |
| tcp.status.suffix | No | String at the end of the status response code. defaults to: . |
| tcp.status.properties | No | Property file to convert codes to messages. Defaults to: mytestfiles/tcpstatus.properties |
| tcp.binarylength.prefix.length | No | The length prefix used by LengthPrefixedBinaryTCPClientImpl implementation (in bytes). Defaults to: 2 |
19.26 Summariser - Generate Summary Results - configuration (mainly applies to CLI mode)
Section titled “19.26 Summariser - Generate Summary Results - configuration (mainly applies to CLI mode)”| Name | Required | Description |
|---|---|---|
| summariser.name | No | Comment the following property to disable the default CLI mode summariser. [or change the value to rename it] :::note Applies to CLI mode only ::: Defaults to: summary |
| summariser.interval | No | Interval between summaries (in seconds). Defaults to: 30 |
| summariser.log | No | Write messages to log file. Defaults to: true |
| summariser.out | No | Write messages to System.out. Defaults to: true |
| summariser.ignore_transaction_controller_sample_result | No | Ignore SampleResults generated by TransactionControllers. Defaults to: true |
19.27 Aggregate Report and Aggregate Graph - configuration
Section titled “19.27 Aggregate Report and Aggregate Graph - configuration”| Name | Required | Description |
|---|---|---|
| aggregate_rpt_pct1 | No | Percentiles to display in reports. Given as a float value between 0 and 100 (means percent). First percentile to display. Defaults to: 90 |
| aggregate_rpt_pct2 | No | Second percentile to display. Given as a float value between 0 and 100 (means percent). Defaults to: 95 |
| aggregate_rpt_pct3 | No | Second percentile to display. Given as a float value between 0 and 100 (means percent). Defaults to: 99 |
19.28 BackendListener - configuration
Section titled “19.28 BackendListener - configuration”| Name | Required | Description |
|---|---|---|
| backend_graphite.send_interval | No | Send interval in seconds. Defaults to: 1 second |
| backend_influxdb.send_interval | No | Send interval in seconds. Defaults to: 5 seconds |
| backend_influxdb.connection_timeout | No | InfluxDB connection timeout. Defaults to: 1000 millis |
| backend_influxdb.socket_timeout | No | InfluxDB socket read timeout. Defaults to: 3000 millis |
| backend_influxdb.connection_request_timeout | No | InfluxDB timeout to get a connection. Defaults to: 100 millis |
| backend_metrics_window | No | Backend metrics sliding window size for Percentiles, Min and Max. Defaults to: 100 |
| backend_metrics_large_window | No | 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_percentile_estimator | No | Specify the Percentile Estimation Type to use. To make the values from the dashboard compatible with the Aggregate Report, use the value R_3. Defaults to: LEGACY |
| backend_metrics_window_mode | No | Backend metrics window mode. Possible values: - fixed : fixed-size window - timed : time boxed Defaults to: fixed |
19.29 BeanShell configuration
Section titled “19.29 BeanShell configuration”| Name | Required | Description |
|---|---|---|
| beanshell.server.port | No | 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) :::note 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. ::: |
| beanshell.server.file | No | Define the server initialisation file. Defaults to: ../extras/startup.bsh |
| beanshell.init.file | No | Define a file to be processed at startup. This is processed using its own interpreter. Defaults to empty value. |
| beanshell.sampler.init | No | Define the initialisation files for BeanShell Sampler, Function and other BeanShell elements. :::note 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. |
| beanshell.function.init | No | Defaults to empty value. |
| beanshell.assertion.init | No | Defaults to empty value. |
| beanshell.listener.init | No | Defaults to empty value. |
| beanshell.postprocessor.init | No | Defaults to empty value. |
| beanshell.preprocessor.init | No | Defaults to empty value. |
| beanshell.timer.init | No | Defaults to empty value. |
The file BeanShellListeners.bshrc contains sample definitions
of Test and Thread Listeners.
19.30 MailerModel configuration
Section titled “19.30 MailerModel configuration”| Name | Required | Description |
|---|---|---|
| mailer.successlimit | No | Number of successful samples before a message is sent. Defaults to: 2 |
| mailer.failurelimit | No | Number of failed samples before a message is sent. Defaults to: 2 |
19.31 CSVRead configuration
Section titled “19.31 CSVRead configuration”| Name | Required | Description |
|---|---|---|
| csvread.delimiter | No | CSVRead delimiter setting (default “,”). :::note 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: , |
19.32 __time() function configuration
Section titled “19.32 __time() function configuration”| Name | Required | Description |
|---|---|---|
| time.YMD | No | This and the following properties can be used to redefine the default time formats. Defaults to: yyyyMMdd |
| time.HMS | No | Defaults to: HHmmss |
| time.YMDHMS | No | Defaults to: yyyyMMdd-HHmmss |
| time.USER1 | No | Defaults to empty value |
| time.USER2 | No | Defaults to empty value |
19.33 CSV DataSet configuration
Section titled “19.33 CSV DataSet configuration”| Name | Required | Description |
|---|---|---|
| csvdataset.eofstring | No | String to return at EOF (if recycle not used). Defaults to: <EOF> |
| csvdataset.file.encoding_list | No | List of file encoding values Defaults to: platform default |
19.34 LDAP Sampler configuration
Section titled “19.34 LDAP Sampler configuration”| Name | Required | Description |
|---|---|---|
| ldapsampler.max_sorted_results | No | 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 |
| assertion.equals_section_diff_len | No | 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 |
| assertion.equals_diff_delta_start | No | Test written out to log to signify start/end of diff delta. Defaults to: [[[ |
| assertion.equals_diff_delta_end | No | Defaults to: ]]] |
19.35 Miscellaneous configuration
Section titled “19.35 Miscellaneous configuration”| Name | Required | Description |
|---|---|---|
| cssselector.parser.cache.size | No | Size of cache used by CSS Selector Extractor (for JODD implementation only) to store parsed CSS Selector expressions. Defaults to: 400 |
| resultcollector.action_if_file_exists | No | 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 |
| mirror.server.port | No | If defined and greater then zero, then start the mirror server on the port. Defaults to: 0 |
| oro.patterncache.size | No | ORO PatternCacheLRU size. Defaults to: 1000 |
| function.cache.per.iteration | No | Cache function execution during test execution. By default, JMeter caches function properties during a test iteration, however, it might cause unexpected results when a component is shared across threads and the expression depends on the thread variables. :::note The property will likely be removed in an upcoming version, so if you need it consider raising an issue with your use-case. ::: Defaults to: false |
| propertyEditorSearchPath | No | TestBeanGui Defaults to: null |
| jmeter.expertMode | No | Turn expert mode on/off: expert mode will show expert-mode beans and properties. Defaults to: true |
| httpsampler.max_bytes_to_store_per_request | No | 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 |
| httpsampler.max_buffer_size | No | Max size of buffer in bytes used when reading responses. Defaults to: 66560 bytes |
| httpsampler.max_redirects | No | Maximum redirects to follow in a single sequence. Defaults to: 20 |
| httpsampler.max_frame_depth | No | Maximum frame/iframe nesting depth. defaults to: 5 |
| httpsampler.separate.container | No | Revert to Bug 51939 behaviour (no separate container for embedded resources) by setting the following false. defaults to: true |
| httpsampler.ignore_failed_embedded_resources | No | 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 |
| httpsampler.parallel_download_thread_keepalive_inseconds | No | Keep-alive time for the parallel download threads (in seconds). Defaults to: 60 |
| httpsampler.embedded_resources_use_md5 | No | Don’t keep the embedded resources response data; just keep the size and the MD5 sum. Defaults to: false |
| httpsampler.user_defined_methods | No | 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 |
| sampleresult.default.encoding | No | The encoding to be used if none is provided. Defaults to: UTF-8 (since 5.6.1) |
| CookieManager.delete_null_cookies | No | CookieManager behaviour - should cookies with null/empty values be deleted? Use false to revert to original behaviour. Defaults to: true |
| CookieManager.allow_variable_cookies | No | CookieManager behaviour - should variable cookies be allowed? Use false to revert to original behaviour. Defaults to: true |
| CookieManager.save.cookies | No | CookieManager behaviour - should Cookies be stored as variables? Default to: false |
| CookieManager.name.prefix | No | 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.check.cookies | No | CookieManager behaviour - check received cookies are valid before storing them? Use false to revert to previous behaviour. Defaults to: true |
| cookies | No | Netscape HTTP Cookie file. Defaults to: cookies |
| javascript.use_rhino | No | Ability to switch to Rhino as default Javascript Engine used by IfController and [__javaScript](/user-manual/functions/#__javaScript) function. :::note JMeter uses Nashorn since 3.2 version. If you want to use Rhino, set this value to true ::: Defaults to: false |
| jmeter.regex.engine | No | Ability to switch out the old Oro Regex implementation with the JDK built-in implementation. Any value different to oro will disable the Oro implementation and enable the JDK based. :::note We intend to switch the default to the JDK based one in a later version of JMeter. ::: Defaults to: oro |
| jmeter.regex.patterncache.size | No | We assist the JDK based Regex implementation by caching Pattern objects. The size of the cache can be set with this setting. It can be disabled by setting it to 0. Defaults to: 1000 |
| jmeterengine.threadstop.wait | No | Number of milliseconds to wait for a thread to stop. Defaults to: 5000 |
| jmeterengine.remote.system.exit | No | Whether to invoke System.exit(0) in server exit code after stopping RMI. Defaults to: false |
| jmeterengine.stopfail.system.exit | No | 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 |
| jmeterengine.force.system.exit | No | 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 |
| jmeter.exit.check.pause | No | 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 |
| jmeterengine.nongui.port | No | 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 |
| jmeterengine.nongui.maxport | No | 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 |
| jmeterthread.rampup.granularity | No | How often to check for shutdown during ramp-up (milliseconds). Defaults to: 1000 |
| onload.expandtree | No | Should JMeter expand the tree when loading a test plan? Default value is false since JMeter 2.7 Defaults to: false |
| jsyntaxtextarea.wrapstyleword | No | JSyntaxTextArea configuration. Defaults to: true |
| jsyntaxtextarea.linewrap | No | Defaults to: true |
| jsyntaxtextarea.codefolding | No | Defaults to: true |
| jsyntaxtextarea.maxundos | No | Set to zero to disable undo feature in JSyntaxTextArea. Defaults to: 50 |
| jsyntaxtextarea.font.family | No | Change the font on the (JSyntax) Text Areas. (Useful for HiDPI screens). Defaults to empty value, which means platform default monospaced font |
| jsyntaxtextarea.font.size | No | Change the size of the (JSyntax) Text Areas. Will be used only, when jsyntaxtextarea.font.family is set. Defaults to: -1 |
| loggerpanel.usejsyntaxtext | No | Set this to false to disable the use of JSyntaxTextArea for the Console Logger panel. Defaults to: true |
| view.results.tree.max_results | No | 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 |
| view.results.tree.max_size | No | 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 |
| view.results.tree.max_line_size | No | Maximum size (in characters) of the line in the displayed. This property works around Bug 63620 since Swing hangs when displaying very long lines. Set to zero to disable line wrapping. Defaults to: 110000 |
| view.results.tree.soft_wrap_line_size | No | Line size (in characters) to consider wrapping to make UI faster. This property works around Bug 63620 since Swing hangs when displaying very long lines. Set to zero to disable line wrapping. Defaults to: view.results.tree.max_line_size / 1.1f |
| view.results.tree.renderers_order | No | Order of Renderers in View Results Tree. :::note 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 |
| view.results.tree.simple_view_limit | No | Configures maximum document length for text view before switching to a simpler view, that does not do line breaks. Works probably best, when combined with a low setting of view.results.tree.max_line_size. Can be switched off by setting the value to -1. Defaults to: 10000 |
| document.max_size | No | Maximum size (in bytes) of Document that can be parsed by Tika engine Set to zero to disable the size check. Defaults to: 10485760 |
| text.kerning.max_document_size | No | Configures the maximum document length for rendering with kerning enabled. Defaults to: 10000 |
| JMSSampler.useSecurity.properties | No | JMS options. Enable the following property to stop JMS Point-to-Point Sampler from using the properties `java.naming.security.[principal |
| confirm.delete.skip | No | Set the following value to true in order to skip the delete confirmation dialogue. Defaults to: false |
19.36 Classpath configuration
Section titled “19.36 Classpath configuration”| Name | Required | Description |
|---|---|---|
| search_paths | No | 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. |
| user.classpath | No | 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. |
| plugin_dependency_paths | No | 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. |
| classfinder.functions.contain | No | 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. |
| classfinder.functions.notContain | No | Defaults to: .gui. |
19.37 Reporting configuration
Section titled “19.37 Reporting configuration”| Name | Required | Description |
|---|---|---|
| jmeter.reportgenerator.apdex_satisfied_threshold | No | Sets the satisfaction threshold for the APDEX calculation (in milliseconds). Defaults to: 500 |
| jmeter.reportgenerator.apdex_tolerated_threshold | No | Sets the tolerance threshold for the APDEX calculation (in milliseconds). Defaults to: 1500 |
| jmeter.reportgenerator.sample_filter | No | Regular Expression which Indicates which samples to keep for graphs and statistics generation. Empty value means no filtering Defaults to empty value. |
| jmeter.reportgenerator.temp_dir | No | Sets the temporary directory used by the generation process if it needs file I/O operations. Defaults to: temp |
| jmeter.reportgenerator.statistic_window | No | Sets the size of the sliding window used by percentile evaluation. :::note Caution: higher value provides a better accuracy but needs more memory. ::: Defaults to: 20000 |
| jmeter.reportgenerator.report_title | No | Configure this property to change the report title Defaults to: Apache JMeter Dashboard |
| jmeter.reportgenerator.overall_granularity | No | Defines the overall granularity for over time graphs Defaults to: 60000 |
| jmeter.reportgenerator.graph.responseTimePercentiles.classname | No | Response Time Percentiles graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesGraphConsumer |
| jmeter.reportgenerator.graph.responseTimePercentiles.title | No | Defaults to: Response Time Percentiles |
| jmeter.reportgenerator.graph.responseTimeDistribution.classname | No | Response Time Distribution graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeDistributionGraphConsumer |
| jmeter.reportgenerator.graph.responseTimeDistribution.title | No | Defaults to: Response Time Distribution |
| jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity | No | Defaults to: 100 |
| jmeter.reportgenerator.graph.activeThreadsOverTime.classname | No | Active Threads Over Time graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.ActiveThreadsGraphConsumer |
| jmeter.reportgenerator.graph.activeThreadsOverTime.title | No | Defaults to: Active Threads Over Time |
| jmeter.reportgenerator.graph.activeThreadsOverTime.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.timeVsThreads.classname | No | Time VS Threads graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.TimeVSThreadGraphConsumer |
| jmeter.reportgenerator.graph.timeVsThreads.title | No | Defaults to: Time VS Threads |
| jmeter.reportgenerator.graph.bytesThroughputOverTime.classname | No | Bytes Throughput Over Time graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.BytesThroughputGraphConsumer |
| jmeter.reportgenerator.graph.bytesThroughputOverTime.title | No | Defaults to: Bytes Throughput Over Time |
| jmeter.reportgenerator.graph.bytesThroughputOverTime.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.responseTimesOverTime.classname | No | Response Time Over Time graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer |
| jmeter.reportgenerator.graph.responseTimesOverTime.title | No | Defaults to: Response Time Over Time |
| jmeter.reportgenerator.graph.responseTimesOverTime.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.latenciesOverTime.classname | No | Latencies Over Time graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer |
| jmeter.reportgenerator.graph.latenciesOverTime.title | No | Defaults to: Latencies Over Time |
| jmeter.reportgenerator.graph.latenciesOverTime.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.responseTimeVsRequest.classname | No | Response Time Vs Request graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.ResponseTimeVSRequestGraphConsumer |
| jmeter.reportgenerator.graph.responseTimeVsRequest.title | No | Defaults to: Response Time Vs Request |
| jmeter.reportgenerator.graph.responseTimeVsRequest.exclude_controllers | No | Defaults to: true |
| jmeter.reportgenerator.graph.responseTimeVsRequest.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.latencyVsRequest.classname | No | Latencies Vs Request graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.LatencyVSRequestGraphConsumer |
| jmeter.reportgenerator.graph.latencyVsRequest.title | No | Defaults to: Latencies Vs Request |
| jmeter.reportgenerator.graph.latencyVsRequest.exclude_controllers | No | Defaults to: true |
| jmeter.reportgenerator.graph.latencyVsRequest.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.hitsPerSecond.classname | No | Hits Per Second graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.HitsPerSecondGraphConsumer |
| jmeter.reportgenerator.graph.hitsPerSecond.title | No | Defaults to: Hits Per Second |
| jmeter.reportgenerator.graph.hitsPerSecond.exclude_controllers | No | Defaults to: true |
| jmeter.reportgenerator.graph.hitsPerSecond.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.codesPerSecond.classname | No | Codes Per Second graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.CodesPerSecondGraphConsumer |
| jmeter.reportgenerator.graph.codesPerSecond.title | No | Defaults to: Codes Per Second |
| jmeter.reportgenerator.graph.codesPerSecond.exclude_controllers | No | Defaults to: true |
| jmeter.reportgenerator.graph.codesPerSecond.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.graph.transactionsPerSecond.classname | No | Transactions Per Second graph definition Defaults to: org.apache.jmeter.report.processor.graph.impl.TransactionsPerSecondGraphConsumer |
| jmeter.reportgenerator.graph.transactionsPerSecond.title | No | Defaults to: Transactions Per Second |
| jmeter.reportgenerator.graph.transactionsPerSecond.property.set_granularity | No | Defaults to: \${jmeter.reportgenerator.overall_granularity} |
| jmeter.reportgenerator.exporter.html.classname | No | HTML Export Defaults to: org.apache.jmeter.report.dashboard.HtmlTemplateExporter |
| jmeter.reportgenerator.exporter.html.property.template_dir | No | Sets the source directory of templated files from which the html pages are generated. Defaults to: report-template |
| jmeter.reportgenerator.exporter.html.property.output_dir | No | Sets the destination directory for generated html pages. This will be overridden by the command line option -o. Defaults to: report-output |
| jmeter.reportgenerator.exporter.html.series_filter | No | Regular Expression which Indicates which graph series are filtered in display. Empty value means no filtering. Defaults to empty value. |
| jmeter.reportgenerator.exporter.html.filters_only_sample_series | No | Indicates whether series filter apply only on sample series Defaults to: true |
| jmeter.reportgenerator.exporter.html.show_controllers_only | No | Indicates whether only controller samples are displayed on graphs that support it. Defaults to: false |
| jmeter.reportgenerator.date_format | No | Date format of report using by start_date and end_date properties. Defaults to: yyyyMMddHHmmss |
| jmeter.reportgenerator.start_date | No | Start date of report using date_format property. Defaults to: nothing |
| jmeter.reportgenerator.end_date | No | End date of report using date_format property. Defaults to: nothing |
| generate_report_ui.generation_timeout | No | Timeout in milliseconds for Report generation when using Tools > Generate HTML report. Defaults to: 300000 |
19.38 Additional property files to load
Section titled “19.38 Additional property files to load”| Name | Required | Description |
|---|---|---|
| user.properties | No | Should JMeter automatically load additional JMeter properties? File name to look for (comment to disable) Defaults to: user.properties |
| system.properties | No | Should JMeter automatically load additional system properties? File name to look for (comment to disable) Defaults to: system.properties |
| template.files | No | 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 |
19.39 Thread Group Validation feature
Section titled “19.39 Thread Group Validation feature”Validation is the name of the feature used to rapidly validate a Thread Group runs fine
| Name | Required | Description |
|---|---|---|
| testplan_validation.tree_cloner_class | No | 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 |
| testplan_validation.nb_threads_per_thread_group | No | Number of threads to use to validate a Thread Group. Defaults to: 1 |
| testplan_validation.ignore_timers | No | Ignore timers when validating the thread group of plan. Defaults to: true |
| testplan_validation.ignore_backends | No | Ignore BackendListener when validating the thread group of plan. Defaults to: true |
| testplan_validation.number_iterations | No | Number of iterations to use to validate a Thread Group. Defaults to: 1 |
| testplan_validation.tpc_force_100_pct | No | Force throughput controllers that work in percentage mode to be a 100%. Defaults to: false |
19.40 Timer related feature
Section titled “19.40 Timer related feature”Timer are used to introduce think time in your plan.
| Name | Required | Description |
|---|---|---|
| timer.factor | No | Apply a factor on computed pauses by the following Timers: - Gaussian Random Timer - Uniform Random Timer - Poisson Random Timer Defaults to: 1.0f |
| think_time_creator.impl | No | 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 |
| think_time_creator.default_timer_implementation | No | Default Timer GUI class added to Test Plan by DefaultThinkTimeCreator Defaults to: org.apache.jmeter.timers.gui.UniformRandomTimerGui |
| think_time_creator.default_constant_pause | No | Default constant pause of Timer Defaults to: 1000 |
| think_time_creator.default_range | No | Default range pause of Timer Defaults to: 100 |
19.41 Naming Policy
Section titled “19.41 Naming Policy”Timer are used to introduce think time in your plan.
| Name | Required | Description |
|---|---|---|
| naming_policy.prefix | No | Prefix used when naming elements. Defaults to empty prefix |
| naming_policy.suffix | No | Prefix used when naming elements. Defaults to empty suffix |
| naming_policy.impl | No | 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 |
19.42 Help
Section titled “19.42 Help”Controls how documentation in JMeter is displayed
| Name | Required | Description |
|---|---|---|
| help.local | No | Switch that allows using Local documentation opened in JMeter GUI. By default we use Online documentation opened in Browser. Defaults to false |
19.43 Advanced Groovy Scripting configuration
Section titled “19.43 Advanced Groovy Scripting configuration”Advanced properties for configuration of scripting in Groovy
| Name | Required | Description |
|---|---|---|
| groovy.utilities | No | Path to Groovy file containing utility functions to make available to [__groovy](/user-manual/functions/#__groovy) function. Defaults to bin/utility.groovy |
19.44 Advanced JSR-223 Scripting configuration
Section titled “19.44 Advanced JSR-223 Scripting configuration”Advanced properties for configuration of scripting in JSR-223
| Name | Required | Description |
|---|---|---|
| jsr223.init.file | No | 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. |
| jsr223.compiled_scripts_cache_size | No | Used by JSR-223 elements. Size of compiled scripts cache. Defaults to: 100 |
19.45 Documentation generation
Section titled “19.45 Documentation generation”Advanced properties for documentation generation
| Name | Required | Description |
|---|---|---|
| docgeneration.schematic_xsl | No | 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 |
19.46 Security Provider
Section titled “19.46 Security Provider”Advanced properties for documentation generation
| Name | Required | Description |
|---|---|---|
| security.provider | No | The value must be in this format: <ClassName>[:<Postion>[:<ConfigString>]] |
| security.provider.<n> | No | Replace the <n> with any number. The SecurityProviders will be added in the alphabetical order of the property names. (First: security.provider and then security.provider.2, security.provider.3,…) See property security.provider |