Cluster benchmarking tools ========================== This is a set of simple scripts to run and time Pacemaker CTS tests. The purpose is to investigate how the cluster stack behaves for different cluster sizes. Supported cluster stacks are openais (legacy), corosync, and heartbeat. Quick start ----------- - Create a directory to contain the output - Copy the example control file and edit it (optional) - Run the benchmark tests: # /usr/share/pacemaker/tests/cts/clubench (on the first run, it will create ~/.cts file to keep your CTS settings) - Create graphs from bench.csv Description ----------- The clubench shell script runs the benchmark. It depends on the working ssh, syslog configuration (loghost), and cluster configuration (stack dependent). The auxiliary cluster_test script from the CTS may be used to do the CTS configuration. It is stored in ~/.cts. The stack configuration has to be done by other means. Typically, it consists of creating and distributing the basic configuration files (openais.conf, corosync.conf, or ha.cf) and the authentication keys. The benchmark tests configuration is held in the control file: SERIES: a list of cluster sizes to be tested (optional, defaults to the fibonacci series including the node list length) RUNS: how many times to run CTS (optional, defaults to 3) CTSTESTS: CTS options to choose tests (optional, defaults to --benchmark) By default, all benchmark tests are run. Those are Restart Stonithd Standby ResourceRecover The CTS is run several times (RUNS) and then median is calculated. TODO: Stonithd should be updated to exclude time which takes the node to come up. Prerequisites ------------- The benchmark is run on the control host (loghost). The loghost must have the following packages installed: syslog-ng pacemaker The nodes must have the following packages installed: syslog-ng pacemaker cluster stack packages The usual prerequisite for CTS applies: ssh must work for root without password from loghost to all nodes and between nodes. Running the benchmark --------------------- usage: ./clubench dir: working directory (with the control file) # clubench output Output ------ The output is stored in the directory given as argument to clubench. hb_report generated reports are in subdirectories named after the number of nodes of test clusters, e.g. the set from the SERIES variable. The end product is stored in bench.csv. It can be imported in a spreadsheet application to generate graphs. bench.csv contains only medians and timings for all runs are stored in bench.stats.