Difference between revisions of "AppSuite:Load Tests"

(Snippet from the -section in the pom.xml)
 
(64 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Software Requirements ==
+
= OX App Suite Load Tests =
* Java SE JDK6 or JDK7
 
* Git
 
  
== Getting Performance Repository ==
+
We're providing load tests for various OX App Suite APIs and maintain simulations that correspond to specific client implementations. To use it, clone the following repository:
* Cloning Repository
 
  <code>$ git clone https://git.open-xchange.com/git/wd/testing/performance</code>
 
  
* Checkout a branch, for example ''develop''
+
<code>
  <code>$ git checkout develop</code>
+
$ git clone https://gitlab.open-xchange.com/qa/performance.git
 +
</code>
  
 +
Documentation can be found at <code>com.openexchange.test.performance.gatling/project/doc</code>. Please checkout the branch that corresponds to the version of OX App Suite to be tested.
  
== Development Environment ==
+
[[Category: AppSuite]] [[Category: Testing]]
If you want to execute the tests via an IDE like Eclipse then you will also need to install the following software:
 
* [https://www.eclipse.org Eclipse 4.2] or later
 
* [http://scala-ide.org Scala IDE plugin]
 
* Maven integration from the default update site '''m2e'''
 
* [http://alchim31.free.fr/m2e-scala/update-site m2e-scala]
 
* [http://maven.apache.org/ Apache Maven]
 
 
 
=== Importing Project into Eclipse ===
 
# Open Eclipse
 
# Click on File -> Import... -> Maven -> Existing Maven Project
 
# 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 ==
 

Latest revision as of 17:19, 11 July 2017

OX App Suite Load Tests

We're providing load tests for various OX App Suite APIs and maintain simulations that correspond to specific client implementations. To use it, clone the following repository:

$ git clone https://gitlab.open-xchange.com/qa/performance.git

Documentation can be found at com.openexchange.test.performance.gatling/project/doc. Please checkout the branch that corresponds to the version of OX App Suite to be tested.