How to Upload a Java Application in Jmeter
1. Getting Started¶
1.0 Overview¶
When using JMeter you lot will ordinarily follow this process:
1.0.1 Test plan edifice¶
To exercise that, you will run JMeter in GUI Mode.
And then y'all can either choose to tape the application from a browser, or native awarding. You tin use for that the card
Note y'all can also manually build your program. Ensure you read this documentation to understand major concepts.
You lot will also debug information technology using i of these options:
- on Thread Grouping
and View Results Tree renderers or Testers (CSS/JQUERY, JSON, Regexp, XPath).
Ensure y'all follow best-practices when edifice your Test Plan.
1.0.2 Load Test running¶
Once your Test Programme is set, you can start your Load Test. The offset step is to configure the injectors that will run JMeter, this every bit for any other Load Testing tool includes:
- Right machine sizing in terms of CPU, memory and network
- Bone Tuning
- Coffee setup: Ensure you install the latest version of Coffee supported by JMeter
- Increase the Java Heap size. By default JMeter runs with a heap of 1 GB, this might not exist enough for your test and depends on your test programme and number of threads you want to run
Once everything is ready, you will use CLI mode (Control-line way previously called Non-GUI mode) to run it for the Load Exam.
Don't run load test using GUI mode !
Using CLI way, you can generate a CSV (or XML) file containing results and take JMeter generate an HTML study at end of Load Test. JMeter will past default provide a summary of load exam while it'southward running.
You tin too have real-fourth dimension results during your exam using Backend Listener.
1.0.3 Load Exam analysis¶
Once your Load Test is finished, y'all can utilise the HTML report to analyze your load test.
1.0.4 Let'due south start¶
The easiest fashion to begin using JMeter is to first download the latest production release and install information technology. The release contains all of the files you need to build and run nearly types of tests, due east.m. Web (HTTP/HTTPS), FTP, JDBC, LDAP, Java, JUnit and more.
If you want to perform JDBC testing, then you volition, of course, demand the advisable JDBC commuter from your vendor. JMeter does not come with any JDBC drivers.
JMeter includes the JMS API jar, just does non include a JMS customer implementation. If you want to run JMS tests, you lot volition need to download the appropriate jars from the JMS provider.
See the JMeter Classpath section for details on installing boosted jars.
Next, commencement JMeter and go through the Edifice a Test Programme section of the User Guide to familiarize yourself with JMeter basics (for example, adding and removing elements).
Finally, go through the appropriate section on how to build a specific type of Test Plan. For case, if you are interested in testing a Spider web awarding, then see the section Building a Spider web Test Plan. The other specific Test Programme sections are:
- Advanced Web Test Plan
- JDBC
- FTP
- JMS Point-to-Bespeak
- JMS Topic
- LDAP
- LDAP Extended
- WebServices (SOAP)
Once you lot are comfortable with building and running JMeter Test Plans, you lot tin can expect into the various configuration elements (timers, listeners, assertions, and others) which requite you more command over your Examination Plans.
1.1 Requirements¶
JMeter requires that your calculating surroundings meets some minimum requirements.
1.1.ane Java Version¶
JMeter is uniform with Coffee 8 or college. We highly propose yous to install latest minor version of your major version for security and performance reasons.
Because JMeter uses only standard Java APIs, please do non file bug reports if your JRE fails to run JMeter because of JRE implementation issues.
Although you can use a JRE, it is better to install a JDK as for recording of HTTPS, JMeter needs keytool utility from JDK.
ane.one.2 Operating Systems¶
JMeter is a 100% Java application and should run correctly on any arrangement that has a compliant Java implementation.
Operating systems tested with JMeter can exist viewed on this page on JMeter wiki.
Even if your Bone is not listed on the wiki page, JMeter should run on information technology provided that the JVM is compliant.
1.2 Optional¶
If you lot program on doing JMeter development, then yous will need ane or more optional packages listed below.
1.2.1 Java Compiler¶
If yous want to build the JMeter source or develop JMeter plugins, then you will need a fully compliant JDK eight or higher.
ane.2.ii SAX XML Parser¶
JMeter comes with Apache's Xerces XML parser. Y'all accept the option of telling JMeter to use a different XML parser. To do so, include the classes for the third-party parser in JMeter's classpath, and update the jmeter.properties file with the full classname of the parser implementation.
1.2.three Email Support¶
JMeter has extensive Electronic mail capabilities. It tin send electronic mail based on test results, and has a POP3(South)/IMAP(Southward) sampler. It also has an SMTP(S) sampler.
1.ii.4 SSL Encryption¶
To test a web server using SSL encryption (HTTPS), JMeter requires that an implementation of SSL exist provided, equally is the case with Sunday Java 1.4 and above. If your version of Java does non include SSL support, then it is possible to add an external implementation. Include the necessary encryption packages in JMeter'due south classpath. As well, update organisation.backdrop to register the SSL Provider.
JMeter HTTP defaults to protocol level TLS. This can be changed by editing the JMeter property https.default.protocol in jmeter.properties or user.properties.
The JMeter HTTP samplers are configured to accept all certificates, whether trusted or not, regardless of validity periods, etc. This is to allow the maximum flexibility in testing servers.
If the server requires a client certificate, this can exist provided.
There is also the SSL Manager, for greater control of certificates.
The JMeter proxy server (meet beneath) supports recording HTTPS (SSL)
The SMTP sampler tin optionally use a local trust store or trust all certificates.
1.ii.5 JDBC Driver¶
You will need to add your database vendor'southward JDBC commuter to the classpath if yous desire to do JDBC testing. Brand sure the file is a jar file, not a zip.
i.ii.6 JMS client¶
JMeter now includes the JMS API from Apache Geronimo, so you merely need to add the advisable JMS Client implementation jar(s) from the JMS provider. Please refer to their documentation for details. At that place may also be some data on the JMeter Wiki.
one.two.7 Libraries for ActiveMQ JMS¶
Y'all will need to add the jar activemq-all-X.X.X.jar to your classpath, e.g. by storing it in the lib/ directory.
Meet ActiveMQ initial configuration page for details.
Come across the JMeter Classpath section for more than details on installing additional jars.
1.3 Installation¶
We recommend that near users run the latest release.
To install a release build, simply unzip the zip/tar file into the directory where yous want JMeter to be installed. Provided that you have a JRE/JDK correctly installed and the JAVA_HOME environment variable set, there is nothing more than for you to practice.
In that location tin can be issues (especially with client-server mode) if the directory path contains any spaces.
The installation directory construction should expect something like this (where X.Y is version number):
apache-jmeter-X.Y apache-jmeter-X.Y/bin apache-jmeter-X.Y/docs apache-jmeter-X.Y/extras apache-jmeter-10.Y/lib/ apache-jmeter-X.Y/lib/ext apache-jmeter-X.Y/lib/junit apache-jmeter-X.Y/licenses apache-jmeter-X.Y/printable_docs
You can rename the parent directory (i.e. apache-jmeter-X.Y) if you want, but practice not modify any of the sub-directory names.
one.four Running JMeter¶
To run JMeter, run the jmeter.bat (for Windows) or jmeter (for Unix) file. These files are found in the bin directory. After a short fourth dimension, the JMeter GUI should appear.
GUI fashion should only be used for creating the test script, CLI way (Non GUI) must be used for load testing
At that place are some boosted scripts in the bin directory that you may find useful. Windows script files (the .CMD files require Win2K or later on):
- jmeter.bat
- run JMeter (in GUI mode by default)
- jmeterw.cmd
- run JMeter without the windows shell panel (in GUI way by default)
- jmeter-northward.cmd
- drop a JMX file on this to run a CLI style test
- jmeter-due north-r.cmd
- drib a JMX file on this to run a CLI mode test remotely
- jmeter-t.cmd
- drop a JMX file on this to load it in GUI mode
- jmeter-server.bat
- start JMeter in server way
- mirror-server.cmd
- runs the JMeter Mirror Server in CLI mode
- shutdown.cmd
- Run the Shutdown client to terminate a CLI mode instance gracefully
- stoptest.cmd
- Run the Shutdown client to stop a CLI style instance abruptly
The special proper noun LAST tin can be used with jmeter-n.cmd, jmeter-t.cmd and jmeter-n-r.cmd and means the last test plan that was run interactively.
There are a few environment variables, that can exist used to customize the JVM settings for JMeter. An like shooting fish in a barrel mode to set those is by creating a file named setenv.bat in the bin directory. Such a file could look like:
rem This is the content of bin\setenv.bat, rem it will be chosen by bin\jmeter.bat set JVM_ARGS=-Xms1024m -Xmx1024m -Dpropname=value
The JVM_ARGS can be used to override JVM settings in the jmeter.bat script and will get set when starting JMeter, e.g.:
jmeter -t test.jmx …
The following environment variables can be defined:
- DDRAW
- JVM options to influence usage of straight draw, e.g. -Dsun.java2d.ddscale=true. Default is empty.
- GC_ALGO
- JVM garbage collector options. Defaults to -XX:+UseG1GC -XX:MaxGCPauseMillis=250 -XX:G1ReservePercent=xx
- HEAP
- JVM retentiveness settings used when starting JMeter. Defaults to -Xms1g -Xmx1g -Twenty:MaxMetaspaceSize=256m
- JMETER_BIN
- JMeter bin directory (must end in \). Value will accept been guessed, when setenv.bat is called.
- JMETER_COMPLETE_ARGS
- If prepare indicates, that JVM_ARGS and JMETER_OPTS are to be used, only. All other options like HEAP and GC_ALGO will be ignored. Default is empty.
- JMETER_HOME
- installation directory. Will exist guessed from location of jmeter.bat
- JMETER_LANGUAGE
- Java runtime options to specify used language. Defaults to: -Duser.linguistic communication="en" -Duser.region="EN"
- JM_LAUNCH
- Proper name of the java executable, like coffee.exe (default) or javaw.exe
- JVM_ARGS
- Coffee options to be used when starting JMeter. These will exist added last to the java command. Default is empty
United nations*x script files; should work on virtually Linux/Unix systems:
- jmeter
- run JMeter (in GUI mode past default). Defines some JVM settings which may not work for all JVMs.
- jmeter-server
- start JMeter in server mode (calls jmeter script with advisable parameters)
- jmeter.sh
- very basic JMeter script (You lot may need to adapt JVM options like retentiveness settings).
- mirror-server.sh
- runs the JMeter Mirror Server in CLI way
- shutdown.sh
- Run the Shutdown customer to terminate a CLI manner instance gracefully
- stoptest.sh
- Run the Shutdown client to stop a CLI fashion instance abruptly
It may exist necessary to set a few environment variables to configure the JVM used past JMeter. Those variables can be either fix straight in the shell starting the jmeter script. For example setting the variable JVM_ARGS will override nigh pre-defined settings, for example
JVM_ARGS="-Xms1024m -Xmx1024m" jmeter -t test.jmx [etc.]
will override the HEAP settings in the script.
To prepare those variables permanently, you can place them in a file called setenv.sh in the bin directory. This file volition be sourced when running JMeter by calling the jmeter script. An example for bin/setenv.sh could look like:
# This is the file bin/setenv.sh, # it will be sourced in by bin/jmeter # Use a bigger heap, but a smaller metaspace, than the default export HEAP="-Xms1G -Xmx1G -XMaxMetaspaceSize=192m" # Endeavor to guess the locale from the OS. The infinite as value is on purpose! export JMETER_LANGUAGE=" "
The following environs variables tin be defined:
- GC_ALGO
- Coffee runtime options to specify JVM garbage collection algorithm. Defaults to -XX:+UseG1GC -XX:MaxGCPauseMillis=250 -20:G1ReservePercent=twenty
- HEAP
- Java runtime options for memory management used when JMeter is started. Defaults to -Xms1g -Xmx1g -X:MaxMetaspaceSize=256m
- JAVA_HOME
- Must signal at your Java Development Kit installation. Required to run the with the "debug" statement. On some OSes it JMeter will try its all-time to guess the location of the JVM.
- JMETER_COMPLETE_ARGS
- If set indicates, that JVM_ARGS and JMETER_OPTS are to be used, just. All other options like HEAP and GC_ALGO will be ignored. Default is empty.
- JMETER_HOME
- May point to your JMeter install dir. If empty it will exist set up relative to the jmeter script.
- JMETER_LANGUAGE
- Java runtime options to specify used language. Defaults to -Duser.language=en -Duser.region=EN
- JMETER_OPTS
- Java runtime options used when JMeter is started. Special options for operating systems might exist added by JMeter.
- JRE_HOME
- Must betoken at your Java Runtime installation. Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME are both empty, JMeter volition try to guess JAVA_HOME. If JRE_HOME and JAVA_HOME are both gear up, JAVA_HOME is used.
- JVM_ARGS
- Coffee options to exist used when starting JMeter. These will be added before JMETER_OPTS and after the other JVM options. Default is empty
1.4.1 JMeter'south Classpath¶
JMeter automatically finds classes from jars in the post-obit directories:
- JMETER_HOME/lib
- used for utility jars
- JMETER_HOME/lib/ext
- used for JMeter components and plugins
If you have developed new JMeter components, then you lot should jar them and copy the jar into JMeter'due south lib/ext directory. JMeter will automatically discover JMeter components in any jars establish here. Do not use lib/ext for utility jars or dependency jars used past the plugins; it is only intended for JMeter components and plugins.
If yous don't want to put JMeter plugin jars in the lib/ext directory, then define the holding search_paths in jmeter.backdrop.
Utility and dependency jars (libraries etc) can be placed in the lib directory.
If y'all don't want to put such jars in the lib directory, then define the belongings user.classpath or plugin_dependency_paths in jmeter.properties. Meet below for an explanation of the differences.
Other jars (such as JDBC, JMS implementations and any other support libraries needed by the JMeter lawmaking) should be placed in the lib directory - non the lib/ext directory, or added to user.classpath.
JMeter will only find .jar files, not .zip.
You can too install utility Jar files in $JAVA_HOME/jre/lib/ext, or you can set the property user.classpath in jmeter.backdrop
Note that setting the CLASSPATH environment variable will have no effect. This is because JMeter is started with "java -jar", and the java command silently ignores the CLASSPATH variable, and the -classpath/-cp options when -jar is used.
This occurs with all Java programs, not merely JMeter.
ane.4.ii Create Test Plan from Template¶
You accept the power to create a new Test Plan from existing template.
To do so yous use the card or Templates icon:
A popup appears, yous can then cull a template amid the list:
Some templates may demand parameters input from the user. For theses ones, later a click on the create button, a new window volition announced equally follow :
When yous are washed with parameters, click on the Validate button and the template will be created.
A documentation for each template explains what to practice once examination programme is created from template.
Y'all can create your own templates following documentation here
i.iv.iii Using JMeter behind a proxy¶
If you are testing from behind a firewall/proxy server, you may need to provide JMeter with the firewall/proxy server hostname and port number. To do and then, run the jmeter[.bat] file from a control line with the following parameters:
- -E
- [proxy scheme to use - optional - for not-http]
- -H
- [proxy server hostname or ip accost]
- -P
- [proxy server port]
- -N
- [nonproxy hosts] (eastward.g. *.apache.org|localhost)
- -u
- [username for proxy hallmark - if required]
- -a
- [password for proxy hallmark - if required]
Case:
jmeter -E https -H my.proxy.server -P 8000 -u username -a password -N localhost
You can also use --proxyScheme, --proxyHost, --proxyPort, --username, and --password as parameter names
Parameters provided on a control-line may be visible to other users on the organization.
If the proxy scheme is provided, then JMeter sets the post-obit Arrangement backdrop:
- http.proxyScheme
If the proxy host and port are provided, and so JMeter sets the following System properties:
- http.proxyHost
- http.proxyPort
- https.proxyHost
- https.proxyPort
The user and password used for a proxy can be given by the Organization backdrop http.proxyUser and http.proxyUser. They volition get overridden by the above arguments or values gear up in the HTTP Samplers.
If a nonproxy host listing is provided, and then JMeter sets the following Organisation properties:
- http.nonProxyHosts
- https.nonProxyHosts
So if yous don't wish to set both http and https proxies, you lot tin can ascertain the relevant backdrop in system.backdrop instead of using the command-line parameters.
Proxy Settings can also exist defined in a Exam Plan, using either the HTTP Request Defaults configuration or the HTTP Asking sampler elements.
JMeter also has its ain in-built Proxy Server, the HTTP(S) Examination Script Recorder. This is only used for recording HTTP or HTTPS browser sessions. This is non to be confused with the proxy settings described above, which are used when JMeter makes HTTP or HTTPS requests itself.
1.four.4 CLI Way (Command Line mode was called Non GUI manner)¶
For load testing, you lot must run JMeter in this mode (Without the GUI) to get the optimal results from it. To do so, use the following control options:
- -n
- This specifies JMeter is to run in cli fashion
- -t
- [name of JMX file that contains the Test Plan].
- -l
- [name of JTL file to log sample results to].
- -j
- [name of JMeter run log file].
- -r
- Run the test in the servers specified by the JMeter property "remote_hosts"
- -R
- [list of remote servers] Run the exam in the specified remote servers
- -yard
- [path to CSV file] generate written report dashboard only
- -e
- generate written report dashboard after load test
- -o
- output folder where to generate the written report dashboard afterward load test. Binder must not exist or be empty
The script too lets you specify the optional firewall/proxy server information:
- -H
- [proxy server hostname or ip address]
- -P
- [proxy server port]
Example
jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
If the property jmeterengine.stopfail.organisation.exit is gear up to true (default is false), and so JMeter volition invoke System.get out(one) if information technology cannot terminate all threads. Unremarkably this is non necessary.
one.4.v Server Style¶
For distributed testing, run JMeter in server mode on the remote node(due south), and so control the server(s) from the GUI. Y'all can also use CLI manner to run remote tests. To start the server(s), run jmeter-server[.bat] on each server host.
The script also lets you specify the optional firewall/proxy server data:
- -H
- [proxy server hostname or ip address]
- -P
- [proxy server port]
Instance:
jmeter-server -H my.proxy.server -P 8000
If you desire the server to leave afterward a single test has been run, and so ascertain the JMeter property server.exitaftertest=true.
To run the test from the client in CLI manner, apply the post-obit command:
jmeter -due north -t testplan.jmx -r [-Gprop=val] [-Gglobal.properties] [-Ten]
where:
- -G
- is used to define JMeter properties to exist gear up in the servers
- -X
- means exit the servers at the terminate of the examination
- -Rserver1,server2
- tin exist used instead of -r to provide a list of servers to offset. Overrides remote_hosts, but does not define the property.
If the property jmeterengine.remote.system.go out is set to true (default is simulated), and then JMeter volition invoke System.exit(0) later stopping RMI at the end of a exam. Ordinarily this is not necessary.
1.4.vi Overriding Properties Via The Command Line¶
Java arrangement properties and JMeter properties can be overridden directly on the command lin (instead of modifying jmeter.properties). To do so, use the following options:
- -D[prop_name]=[value]
- defines a java system holding value.
- -J[prop_name]=[value]
- defines a local JMeter holding.
- -G[prop_name]=[value]
- defines a JMeter belongings to be sent to all remote servers.
- -G[propertyfile]
- defines a file containing JMeter properties to exist sent to all remote servers.
- -Fifty[category]=[priority]
- overrides a logging setting, setting a particular category to the given priority level.
The -L flag can as well exist used without the category name to set the root logging level.
Examples:
jmeter -Duser.dir=/domicile/mstover/jmeter_stuff \ -Jremote_hosts=127.0.0.ane -Ljmeter.engine=DEBUG
jmeter -LDEBUG
The command line properties are processed early in startup, but after the logging system has been prepare.
one.four.7 Logging and error letters¶
Since 3.two, JMeter logging is not configured through properties file(southward) such as jmeter.properties whatsoever more, but information technology is configured through a Apache Log4j 2 configuration file (log4j2.xml in the directory from which JMeter was launched, by default) instead. Also, every code including JMeter and plugins MUST use SLF4J library to leave logs since iii.2.
Hither is an example log4j2.xml file which defines ii log appenders and loggers for each category.
<Configuration status="WARN" packages="org.apache.jmeter.gui.logging"> <Appenders> <!-- The principal log file appender to jmeter.log in the directory from which JMeter was launched, by default. --> <File proper noun="jmeter-log" fileName="${sys:jmeter.logfile:-jmeter.log}" suspend="false"> <PatternLayout> <pattern>%d %p %c{one.}: %m%n</design> </PatternLayout> </File> <!-- Log appender for GUI Log Viewer. Encounter below. --> <GuiLogEvent name="gui-log-event"> <PatternLayout> <pattern>%d %p %c{1.}: %m%northward</pattern> </PatternLayout> </GuiLogEvent> </Appenders> <Loggers> <!-- Root logger --> <Root level="info"> <AppenderRef ref="jmeter-log" /> <AppenderRef ref="gui-log-event" /> </Root> <!-- SNIP --> <!-- # Apache HttpClient logging examples --> <!-- # Enable header wire + context logging - Best for Debugging --> <!-- <Logger name="org.apache.http" level="debug" /> <Logger proper noun="org.apache.http.wire" level="mistake" /> --> <!-- SNIP --> </Loggers> </Configuration>
So, if y'all want to modify the log level for org.apache.http category to debug level for instance, you can but add (or uncomment) the post-obit logger chemical element in log4j2.xml file earlier launching JMeter.
<Loggers> <!-- SNIP --> <Logger name="org.apache.http" level="debug" /> <!-- SNIP --> </Loggers>
For more item on how to configure log4j2.xml file, delight see Apache Log4j 2 Configuration page.
Log level for specific categories or root logger can be overridden directly on the control line (instead of modifying log4j2.xml) as well. To do then, use the following options:
- -50[category]=[priority]
- Overrides a logging setting, setting a particular category to the given priority level. Since 3.2, it is recommended to use a full category name (e.g, org.apache.jmeter or com.example.foo), but if the category proper noun starts with either jmeter or jorphan, org.apache. will exist prepended internally to the category name input to construct a full category name (i.e, org.apache.jmeter or org.apache.jorphan) for astern compatibility.
Examples:
jmeter -Ljmeter.engine=DEBUG
jmeter -Lorg.apache.jmeter.engine=DEBUG
jmeter -Lcom.example.foo=DEBUG
jmeter -LDEBUG
Differences in Logging : Old vs New Practices:
Equally JMeter uses SLF4J as logging API and Apache Log4j ii as a logging framework since three.2, not every log level used before 3.ii tin lucifer exactly with i of the new available log levels provided by SLF4J/Log4j2. Therefore, please keep the post-obit differences and new suggested practices in mind if yous need to drift any existing logging configurations and logging code.
Category | Old Practices Before 3.two | New Practices Since 3.two |
---|---|---|
Logger Reference | Logger reference through LoggingManager: LoggingManager.getLoggerFor(String category); LoggingManager.getLoggerForClass(); | Use SLF4J API with either category or explicit class: LoggerFactory.getLogger(Cord category); LoggerFactory.getLogger(Foo.course); |
Log Levels in Configuration or Control Line Arguments | Old Log Levels:
| Mapping to New Levels through SLF4J/Log4j2:
Since FATAL_ERROR is not supported by SLF4J API, it is treated as Mistake instead for existing code non to break. There is besides the FATAL log level selection. TRACE level, which is less specific than DEBUG, is supported additionally since 3.ii. Look up SLF4J or Apache Log4J ii documentations for details. |
JMeter does not generally use pop-up dialog boxes for errors, as these would interfere with running tests. Nor does information technology report any error for a mis-spelt variable or function; instead the reference is only used as is. Run across Functions and Variables for more information.
If JMeter detects an error during a test, a message will be written to the log file. The log file name is defined in the log4j2.xml file (or using the -j option, see beneath). It defaults to jmeter.log, and will be found in the directory from which JMeter was launched.
The menu displays the log file in a lesser pane on main JMeter window.
In the GUI mode, the number of error/fatal letters logged in the log file is displayed at meridian-right.
The control-line option -j jmeterlogfile allow to process after the initial properties file is read, and before any further properties are processed. It therefore allows the default of jmeter.log to be overridden. The jmeter scripts that have a test program name as a parameter (e.g. jmeter-n.cmd) have been updated to ascertain the log file using the test programme name, e.yard. for the test plan Test27.jmx the log file is set to Test27.log.
When running on Windows, the file may appear as but jmeter unless you have set Windows to testify file extensions. [Which you should practice anyway, to make it easier to detect viruses and other nasties that pretend to exist text files …]
As well every bit recording errors, the jmeter.log file records some data about the test run. For instance:
2017-03-01 12:nineteen:20,314 INFO o.a.j.JMeter: Version iii.two.20170301 2017-03-01 12:19:45,314 INFO o.a.j.g.a.Load: Loading file: c:\mytestfiles\BSH.jmx 2017-03-01 12:xix:52,328 INFO o.a.j.eastward.StandardJMeterEngine: Running the examination! 2017-03-01 12:19:52,384 INFO o.a.j.eastward.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = i. 2017-03-01 12:19:52,485 INFO o.a.j.e.StandardJMeterEngine: Continue on fault 2017-03-01 12:19:52,589 INFO o.a.j.t.JMeterThread: Thread BSH1-ane started 2017-03-01 12:nineteen:52,590 INFO o.a.j.t.JMeterThread: Thread BSH1-1 is done 2017-03-01 12:19:52,691 INFO o.a.j.e.StandardJMeterEngine: Test has concluded
The log file can exist helpful in determining the crusade of an error, as JMeter does not interrupt a test to brandish an error dialogue.
i.iv.8 Full list of command-line options¶
Invoking JMeter as "jmeter -?" will print a listing of all the command-line options. These are shown below.
--? print command line options and exit -h, --assistance print usage information and go out -v, --version print the version information and exit -p, --propfile <argument> the jmeter holding file to use -q, --addprop <argument> additional JMeter property file(due south) -t, --testfile <statement> the jmeter test(.jmx) file to run -50, --logfile <argument> the file to log samples to -i, --jmeterlogconf <argument> jmeter logging configuration file (log4j2.xml) -j, --jmeterlogfile <argument> jmeter run log file (jmeter.log) -n, --nongui run JMeter in nongui manner -s, --server run the JMeter server -H, --proxyHost <argument> Set a proxy server for JMeter to use -P, --proxyPort <argument> Fix proxy server port for JMeter to use -Due north, --nonProxyHosts <argument> Set nonproxy host list (e.g. *.apache.org|localhost) -u, --username <argument> Fix username for proxy server that JMeter is to use -a, --password <statement> Gear up countersign for proxy server that JMeter is to employ -J, --jmeterproperty <argument>=<value> Define additional JMeter properties -G, --globalproperty <argument>=<value> Define Global properties (sent to servers) due east.g. -Gport=123 or -Gglobal.backdrop -D, --systemproperty <statement>=<value> Ascertain additional system properties -S, --systemPropertyFile <argument> additional system belongings file(s) -f, --forceDeleteResultFile force delete existing results files and web report binder if nowadays earlier starting the examination -Fifty, --loglevel <argument>=<value> [category=]level e.k. jorphan=INFO, jmeter.util=DEBUG or com.example.foo=WARN -r, --runremote Starting time remote servers (as defined in remote_hosts) -R, --remotestart <argument> Start these remote servers (overrides remote_hosts) -d, --homedir <statement> the jmeter domicile directory to utilise -X, --remoteexit Go out the remote servers at end of test (CLI mode) -k, --reportonly <statement> generate study dashboard only, from a test results file -east, --reportatendofloadtests generate written report dashboard after load examination -o, --reportoutputfolder <argument> output folder for written report dashboard
Note: the JMeter log file proper noun is formatted as a SimpleDateFormat (applied to the current appointment) if it contains paired single-quotes, .e.1000. 'jmeter_'yyyyMMddHHmmss'.log'
If the special name Last is used for the -t, -j or -fifty flags, then JMeter takes that to mean the concluding test plan that was run in interactive manner.
1.four.9 CLI style shutdown¶
Prior to version 2.5.one, JMeter invoked System.exit() when a CLI mode test completed. This caused issues for applications that invoke JMeter directly, so JMeter no longer invokes Organization.exit() for a normal test completion. [Some fatal errors may still invoke Organization.exit()] JMeter will exit all the non-daemon threads it starts, just information technology is possible that some non-daemon threads may even so remain; these will prevent the JVM from exiting. To notice this situation, JMeter starts a new daemon thread only before it exits. This daemon thread waits a short while; if it returns from the look, then conspicuously the JVM has not been able to exit, and the thread prints a bulletin to say why.
The property jmeter.exit.cheque.suspension can be used to override the default suspension of 2000ms (2secs). If ready to 0, and so JMeter does non get-go the daemon thread.
1.5 Configuring JMeter¶
If y'all wish to modify the backdrop with which JMeter runs yous need to either alter the user.properties in the /bin directory or create your own copy of the jmeter.backdrop and specify information technology in the command line.
Note: Yous can define additional JMeter backdrop in the file defined by the JMeter belongings user.properties which has the default value user.properties. The file volition be automatically loaded if it is institute in the current directory or if information technology is found in the JMeter bin directory. Similarly, arrangement.backdrop is used to update organization properties.
Parameters
Attribute
Description
Required
ssl.provider
Y'all can specify the class for your SSL implementation if you don't want to apply the built-in Java implementation.
No
xml.parser
You can specify an implementation as your XML parser. The default value is: org.apache.xerces.parsers.SAXParser
No
remote_hosts
Comma-delimited list of remote JMeter hosts (or host:port if required). If you are running JMeter in a distributed surroundings, list the machines where you accept JMeter remote servers running. This will allow y'all to control those servers from this motorcar's GUI
No
not_in_menu
A list of components you do not want to see in JMeter's menus. As JMeter has more and more components added, you lot may wish to customize your JMeter to show only those components you are interested in. Y'all may list their classname or their class label (the string that appears in JMeter's UI) here, and they will no longer appear in the menus.
No
search_paths
List of paths (separated by ;) that JMeter will search for JMeter plugin classes, for example additional samplers. A path item can either exist a jar file or a directory. Whatsoever jar file in such a directory volition be automatically included in search_paths, jar files in sub directories are ignored. The given value is in addition to any jars establish in the lib/ext directory.
No
user.classpath
List of paths that JMeter volition search for utility and plugin dependency classes. Use your platform path separator to separate multiple paths. A path item tin either be a jar file or a directory. Any jar file in such a directory will be automatically included in user.classpath, jar files in sub directories are ignored. The given value is in add-on to whatsoever jars found in the lib directory. All entries volition be added to the class path of the system class loader and also to the path of the JMeter internal loader.
No
plugin_dependency_paths
Listing of paths (separated by ;) that JMeter volition search for utility and plugin dependency classes. A path item can either be a jar file or a directory. Any jar file in such a directory will exist automatically included in plugin_dependency_paths, jar files in sub directories are ignored. The given value is in improver to any jars found in the lib directory or given by the user.classpath property. All entries volition be added to the path of the JMeter internal loader simply. For plugin dependencies using plugin_dependency_paths should be preferred over user.classpath.
No
user.backdrop
Name of file containing additional JMeter properties. These are added after the initial property file, only earlier the -q and -J options are processed.
No
organisation.properties
Name of file containing additional organization properties. These are added before the -Southward and -D options are processed.
No
The control line options and properties files are processed in the following order:
- -p propfile
- jmeter.properties (or the file from the -p option) is so loaded
- -j logfile
- Logging is initialised
- user.properties is loaded
- arrangement.backdrop is loaded
- all other control-line options are candy
Come across likewise the comments in the jmeter.backdrop, user.properties and system.properties files for further data on other settings you lot can alter.
Source: https://jmeter.apache.org/usermanual/get-started.html
0 Response to "How to Upload a Java Application in Jmeter"
Post a Comment