Skip to content
Ben Green edited this page Apr 16, 2015 · 7 revisions

Regression Suite

  1. Configure connection string in package.json.

  2. Run the suite with npm run make && npm test.

Performance / Memory Usage

The load test application may be ran using node test/load/.

Check your configuration options using node test/load/ --help.

The default case performs a general end-to-end test on the entire package.

Other cases are available: (Use the --case=<case name> command line option)

Change parameters in the case file in the test/load/cases/ directory.

End to end cases

Case name Description
static Default case, perform steady load of INSERT and UPDATE operations
static.manual Same as static except with manually specified triggers
static.simple Same as static except without any joins
spikes Perform spiking load operations
spikes.manual Same as spikes except with manually specified triggers
spikes.simple Same as spikes except without any joins
interactive Perform test like static but with instant graph results. Type integer and press enter to change the operation rate.
baseline No operation, control case

Unit test cases

Case name Description
common.getClient Obtain and release client from connection pool
common.getQueryDetails Obtain details of query that matches static case
common.tableTriggers Create and drop triggers/functions on a table
common.performQuery Obtain client, perform simple query (1+1) then release client
common.performQuery.scoresLoad Perform query that matches the static case
common.performQuery.scoresLoadDiff Perform query to get difference on static case
common.getResultSetDiff Get difference of current result set from last known
common.applyDiff.20 Apply random differences to a small result set (20 rows)
common.applyDiff.800 Apply random differences to a larger result set (800 rows)
Clone this wiki locally