Load Tests

Introduction

Test framework uses JMeter to prepare the test environment and later to perform load tests.

Generic Properties

  • jm-serverprotocol, jm-serverhost, jm-serverport: Describe the target of the test.
  • jm-threadcount, jm-rampupperiod, jm-loopcount: Describes the configuration of the test's main thread.
  • test-id, test-name, server-name: This properties with thread configuration configures de unique id for the test.
  • test-title, test-description: For report purposes.
  • test-dir, test-file: Test package may contains many different tests and folders.
  • users-dir, users-filename, users-file: Describe de location of the users file in csv format with users,password lines.
By default this framework provides a core package test with different tests with different purposes.
Please, if you create a test package send to us, an we will add to maven repository to share with the community.

Core Package

Site sizes

Test framework provides up to 3 different kind of test sites.

  1. Small Site: 20 participants (15 access role and 5 maintain role).
  2. Medium Site: 100 participants (80 access role and 20 maintain role).
  3. Large Site: 500 participants (400 access role and 100 maintain role).

Generate Sites

  1. Checkout source from repository: https://source.sakaiproject.org/contrib/qa/trunk/performance/framework/tests
  2. Create a credentials.properties file:

    jm-adminuser=<your-sakai-admin>
    jm-adminpassword=<your-sakai-pass>

  3. Execute maven command:

    mvn test site -Dtest-dir=init -Dtest-file=create.jmx -Dtest-properties-file=[small.properties|medium.properties|...]
    

Remove Sites

  1. Execute maven command:

    mvn test site -Dtest-dir=init -Dtest-file=remove.jmx -Dtest-properties-file=[small.properties|medium.properties|...]

Load Test

  1. Execute maven command:

    mvn test site -Dtest-properties-file=[small-low.properties|...]
    

Performance Results

Results of maven command are stored in html format inside tests/target/site dir.
Here is an example of create results.

In order to index all the results in one page type:

mvn site -Preport

This command produces the complete site.

In order to package in a war file type:

mvn package -Pwar

This command produces the complete site in war format.