This contains zimbra jmeter load tests.
-
config
Required configuration files for ant to run against zimbra environment.
-
tests
Directory of jmeter tests. See tests README.md for more details.
-
src
Source code for Zimbra JMeter Java Library. See src README.md for more details.
-
data
Contain jmx file for data generation. Take input from config/users.csv to create accounts.
-
reportGen
Contain scripts used to execute test and generate graphs and other reports using the execution results.
-
result
Contain reports when we execute test using loadtest.sh
- Java Developer Kit (JDK) 7 or higher installed.
- Ant 1.9 or higher installed.
- jmeter 3.3 installed at /opt/apache-jmeter-3.3 if not modify build.xml jmeter.home appropriately.
- config/env.prop is configured for the Zimbra environment to be tested.
- admin account exists and has password of test123 in the Zimbra environment (modify config/users.csv if other account(s) desired).
- See src README.md for addtional requirements to generate Zimbra JMeter Java Library.
$ git clone https://github.com/Zimbra/zm-load-testing.git
$ cd zm-load-testing
$ ant
Data Generation
$ ant dataGen
To run a specific test use the path name of the test seperated by hyphen example:
$ ant fixed-ephemeral
To specify a particular environment file:
$ ant -Denv=config/myenv.prop
To generate the Zimbra JMeter Java Library only:
$ ant src
Execution with reports generation
Ssh key addition of client to the server root user authorized_keys(.ssh/authorised_keys file).
create required jars
$ ant jar
$ ant src
$ sh reportGen/scripts/loadtest.sh -t <test name> -w < workspace path>
test name: use the path name of the test seperated by hyphen (eg: fixed-ephemeral)
- Java Developer Kit (JDK) 7 or higher installed.
- jmeter 3.3 installed.
-
grab a copy of this repo
$ git clone https://github.com/Zimbra/zm-load-testing.git $ cd zm-load-testing
-
create a users.csv file with accounts that can be used for testing zimbra see specific test details for required contents for this example: <user>,<password>
$ vi /tmp/users.csv user1,userpass ...
-
create zimbra environment specific property file example: tests/fixed/imapbenchmarking
$ cp tests/fixed/imapbenchmarking/env.prop /tmp/imapbm.prop $ vi /tmp/imapbm.prop modify file appropriately for the zimbra environment you plan to test update the users.csv file to the csv file created
-
run the test
$ jmeter -n -q /tmp/imapbm.prop -q tests/fixed/imapbenchmarking/load.prop -t tests/fixed/imapbenchmarking/imapbenchmarking.jmx
- Apache Common Net library has a bug with proxy support and will not send DNS lookups through the proxy so host names fail but IP addresses work. See: https://issues.apache.org/jira/browse/NET-468 https://issues.apache.org/jira/browse/NET-650