Performance testing of BASE

This document defines a procedure for testing the performance of BASE. The intention is that BASE should be compared to the earlier BASE version 1 with respect to performance. The tests on a BASE version 1 server must be done by hand. For later BASE versions, there is a test program. The current test program includes the following tests:

  1. Running the test program
  2. A typical test sequence

Last updated: $Date: 2021-06-11 12:51:05 +0200 (Fri, 11 Jun 2021) $

1. Running the test pgoram

The data files needed by the tests are NOT included in the subversion repository. The main reason is that they are too large, and that we don't have permission to make them publicly available for download. To get the test file you need to be a core developer. Read the instructions on the DeveloperInformation page, Test data section on the Base 2 web site.

To run the test do the following:

  1. Compile the core and the test programs: ant test.
  2. Change to the build/test/ directory.
  3. Run test program:
    ./ performace <options> <cmd>

Test program options

The test doesn't program doesn't require an empty database. Running the test program multiple times will simply add more data to the experiment.

Parameters to plug-ins are read from the configuration file. It should be located in either /config/test or /config/local directory. If you want to change the parameters put the changed file in /config/local. Don't put this file into the subversion repository.

2. A typical test sequence

In this case we assume a fresh, empty database.

# Import raw data to 10 raw bioassays.
./ performace -i 10 raw

# Create 2 root bioassay sets each with 1, 2, 4, and 8
# raw bioassays
./ performance -i 2 -mi 1 -mx 8 root

# Filter all root bioassay sets
./ performance -s Root -c Filtered filter

# Normalize all filtered bioassay sets
./ performance -s Filtered -c Lowess lowess

# Export all root bioassay sets
./ performance -s Root export

# Export all filtered bioassay sets
./ performance -s Filtered export