This tool allows load testing of an OBM installation, it uses Gatling (http://gatling-tool.org) to perform requests against most of OBM components. The OBM Core-Team uses it to check that the product does not lose performance and robustness between releases but it is also useful to verify that the capacity of an installation is enough to support a "chosen" load.
The full documentation is located at /usr/share/doc/obm-loadtest/obm-loadtest.html
obm-loadtest --csv <value> --base-url <value> --user-domain <value> [options]
Is a path to a "comma separated value" file which contains definition of users that can be used in obm-loadtest simulations. Its format is strict, the first line must be username,password followed by users rows.
username,password user1,1234 user2,1234 user3,1234 user4,1234 user5,1234
If too few users are given in this file, the tool will sometimes have two distinct simulations running with the same user. In this situation the responses of Opush are not always exactly what is expected by our tool making a false negative.
We suggest to have 100 users and even more for heavy runs. Mind that those users must really exist in your OBM.
The frontend address of your OBM installation, you must specify here the protocol to use (http or https).
You noted that the csv file does not embed users domain, specify it with this option.
--scenario <value> (default value: default)
Depending on the scenario to run the tool will exercise different OBM components. By default it run against obm-ui, obm-sync, opush, the smtp and the imap servers.
Possible values are: smtp, opush-calendar, imap, opush-send-email, opush-meeting-creation, opush-folder-sync, obm-ui, opush-default, opush-meeting-invitation, default, obm-sync, opush-meeting-modification, opush-contact, opush-meeting-cancelation, opush-calendar-sync
--users-per-sec <value> (default value: 1)
Understand it as "how much you will load your OBM". In fact this option specifies the count of new-simulation-per-second the tool will introduce in the run. The value can be an integer as a decimal number.
Mind that obm-loadtest will not care about the status of the target server. As the OBM server become slow, it will take longer to reply to requests so running simulations will also be longer to finish. The tool will constantly continue to introduce new simulation in the run, so the number of concurrent requests will grow.
--duration <value> (default value: 1)
How long the run will be, for a two hours long run use:
--duration-unit <value> (default value: seconds)
Unit of time of the --duration parameter, accepted values are nanoseconds, microseconds, milliseconds, seconds, minutes, hours and days
For a two hours long run use:
You need to provide this option when your OBM is protected by LemonLDAP.
The exit status is:
1 if an internal fatal error occurs 2 if any parameter has not the expected format 0 otherwise and if the process has not been interrupted or crashed
See the OBM issue tracker: http://ci-obm.linagora.com/jira/browse/OBMLOAD (you need to be logged in to access this page)
Copyright (C) 2014 Linagora
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version, provided you comply with the Additional Terms applicable for OBM software by Linagora pursuant to Section 7 of the GNU Affero General Public License, subsections (b), (c), and (e), pursuant to which you must notably (i) retain the displaying by the interactive user interfaces of the “OBM, Free Communication by Linagora” Logo with the “You are using the Open Source and free version of OBM developed and supported by Linagora. Contribute to OBM Research-And-Development by subscribing to an Enterprise offer !” infobox, (ii) retain all hypertext links between OBM and obm.org, between Linagora and linagora.com, as well as between the expression “Enterprise offer” and pro.obm.org, and (iii) refrain from infringing Linagora intellectual property rights over its trademarks and commercial brands. Other Additional Terms apply, see http://www.linagora.com/licenses/ for more details.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License and its applicable Additional Terms for OBM along with this program. If not, see http://www.gnu.org/licenses/ for the GNU Affero General Public License version 3 and http://www.linagora.com/licenses/ for the Additional Terms applicable to the OBM software.