| 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 <dir> to contain the output |
| |
| - Copy the example control file and edit it (optional) |
| |
| - Run the benchmark tests: |
| |
| # /usr/share/pacemaker/tests/cts/clubench <dir> |
| |
| (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> |
| 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. |