AppSuite:Load Tests: Difference between revisions

From Open-Xchange
No edit summary
Line 65: Line 65:


=== Snippet from the <jvmArgs>-section in the pom.xml ===
=== Snippet from the <jvmArgs>-section in the pom.xml ===
* List of all available JVM-Arguments:
   <jvmArgs>
   <jvmArgs>
     <jvmArg>-Dprotocol=${protocol}</jvmArg>
     <jvmArg>-Dprotocol=${protocol}</jvmArg>
Line 80: Line 79:
     <jvmArg>-DpimObjects=${pimObjects}}</jvmArg>
     <jvmArg>-DpimObjects=${pimObjects}}</jvmArg>
   </jvmArgs>
   </jvmArgs>


== Test Execution ==
== Test Execution ==

Revision as of 12:12, 11 April 2014

Software Requirements

  • Java SE JDK6 or JDK7
  • Git

Getting Performance Repository

  • Cloning Repository
 $ git clone https://git.open-xchange.com/git/wd/testing/performance
  • Checkout a branch, for example develop
 $ git checkout develop


Development Environment

If you want to execute the tests via an IDE like Eclipse then you will also need to install the following software:

Importing Project into Eclipse

  1. Open Eclipse
  2. Click on File -> Import... -> Maven -> Existing Maven Project
  3. Select the gatling folder within the performance repository

Configurable Parameters

protocol
Which protocol to use. Possible values are: "http" or "https". Default value: "http".
host
Which host to use. Possible values are: "localhost", "10.0.0.1" or if you want to stress several groupware servers, to bypass a loadbalancer for example, then you can use comma-separated IPs or hostnames "10.0.0.1,10.0.0.2,localhost". Default value: "localhost".
users
How many concurrent users to simulate. Default value: "5".
durationTime
Duration time of the simulation. Default value: "30".
durationUnit
The Unit of the durationTime. Possible values are: "SECONDS", "MINUTES", "HOURS" or "DAYS". Default value: "SECONDS".
successpercent
Successful responses in percentage. Default value: "100".
reqpersec
Mean number of requests per second (lower bound). Default value: "0".
resptime
Mean response time (lower bound). Default value: "0".
csv_users
Name of the CSV-File for feeding the requests. Default value: "ox_user_credentials.csv".
syncmsgmax
How many objects to synchronize. Relevant only for QAPerfUSM. Default value: "50".
pimObjects
How many PIM Objects, for example contacts, should be created. Relevant only for PIM-Simulations like QAPerfContacts or QAPerfAppointments. Default value: "5".

Snippet from the <properties>-section in the pom.xml

  • List of all available System-Properties:
 <properties>
   <protocol>http</protocol>
   <host>localhost</host>
   <port>80</port>
   <users>5</users>
   <durationTime>30</durationTime>
   <durationUnit>SECONDS</durationUnit>
   <successpercent>100</successpercent>
   <reqpersec>0</reqpersec>
   <resptime>0</resptime>
   <csv_users>ox_user_credentials.csv</csv_users>
   <syncmsgmax>50</syncmsgmax>
   <pimObjects>5</pimObjects>
 </properties>

Snippet from the <jvmArgs>-section in the pom.xml

 <jvmArgs>
   <jvmArg>-Dprotocol=${protocol}</jvmArg>
   <jvmArg>-Dhost=${host}</jvmArg>
   <jvmArg>-Dport=${port}</jvmArg>
   <jvmArg>-Dcsv_users=${csv_users}</jvmArg>
   <jvmArg>-Dusers=${users}</jvmArg>
   <jvmArg>-DdurationTime=${durationTime}</jvmArg>
   <jvmArg>-DdurationUnit=${durationUnit}</jvmArg>
   <jvmArg>-Dsuccesspercent=${successpercent}</jvmArg>
   <jvmArg>-Dreqpersec=${reqpersec}</jvmArg>
   <jvmArg>-Dresptime=${resptime}</jvmArg>
   <jvmArg>-Dsyncmsgmax=${syncmsgmax}</jvmArg>
   <jvmArg>-DpimObjects=${pimObjects}}</jvmArg>
 </jvmArgs>

Test Execution