seapath-benchmark is a tool used to evaluate the performance of a SEAPATH cluster infrastructure and its components.
seapath-benchmark is designed to provide a test architecture to measure and monitor the performance of a SEAPATH infrastructure. seapath-benchmark is build upon two core elements:
- The phoronix-test-suite to provide a test backend: test skeleton, test management, results handling, report generation
- Ansible as an orchestrator, used to the run the configuration and execution of tests across various physical and virtual machines.
seapath-benchmark can benchmark various system components (CPU, disk), SEAPATH features (VM migration), and can monitor the resource usage on each machine.
seapath-benchmark can be used (with the exception for cluster specific tests) on standalone and cluster SEAPATH configuration.
Results are available in the directory test-results
, at the end of
each test.
- Tests benchmark for testing the performance of various system and SEAPATH components
- Monitoring of various system sensors and resource usage
- Tests results generation in various format with pretty graphs
Following phoronix-test-suite typology, seapath-benchmark tests are
called test profiles
. Test profiles can be one of two types:
- Monitoring test profiles: these tests are used to only monitor various system and SEAPATH sensors (ex: CPU/memory/disk usage, bandwith consumption, etc.)
- Benchmark test profiles: these tests are used to measure the performance of a particular system or SEAPATH components (ex: CPU, memory, disk, VM migration...)
Name | Test profiles type | Tested components | Compatible machines and infrastructure | Generated results |
---|---|---|---|---|
cpu | Benchmark | CPU | Hypervisor and VMs, all SEAPATH configuration | PDF report with sysbench score |
disk | Benchmark | Disk | Hypervisor and VMs, all SEAPATH configuration | PDF report with fio score |
vm-migration | Benchmark | CPU, disk | Hypervisor and VMs, only SEAPATH cluster configuration | PDF report with average VM migration time |
process-monitoring | Monitoring | / | Hypervisor and VMs, all SEAPATH configuration | HTML report with process CPU consumption per CPU core |
Make sure your localhost system complies with the following dependencies:
sudo apt install \
docker
Install cqfd
:
git clone https://github.com/savoirfairelinux/cqfd.git
cd cqfd
sudo make install
Normally, seapath-benchmark is designed to be run on localhost inside a Docker container. If you wish to run seapath-benchmark directly on the localhost machine, make sure it complies with the following dependencies:
sudo apt install \
ansible \
bash
Make sure the phoronix-test-suite package is installed on each tested machines:
- Get the phoronix-test-suite at phoronix-test-suite
- Unzip the archive
- Run the file
install.sh
The user used by Ansible, targeted by inventory variable ansible_user
variable must be configured on the publisher machine to have sudo access.
Machines and tests configuration have to be set in a dedicated Ansible
inventory. See inventories/README
for more information.
Configuration can then be started using:
cqfd -b configure_test_profiles
or
cqfd run ansible-playbook -i inventories/<YOUR INVENTORY> playbooks/configure_test_profiles.yaml
Selected tests profiles in inventory file can be started using:
cqfd -b run_test_profiles
or
cqfd run ansible-playbook -i inventories/<YOUR INVENTORY> playbooks/run_test_profiles.yaml
- Configuration of the machines and the test profiles
- Add CPU, disk, vm-migration benchmark test profiles
- Add process-monitoring monitoring test profile
- Generation of results per test-profiles