Skip to content

Latest commit

 

History

History
70 lines (46 loc) · 2.01 KB

File metadata and controls

70 lines (46 loc) · 2.01 KB

Benchmarks

This directory contains benchmarks for the Synmetrix backend. The benchmarks are

  • Cube caching benchmark
  • Cube pre-aggregations (materialized views) benchmark
  • Synmetrix with Cube Highload benchmark: 1000 datasources with 1000 metrics each (1M metrics in total)

Software Requirements

Getting Started

To run the benchmarks, you need to have Synmetrix a specific test environment running. The test environment is a docker swarm services with cube and hasura replicas to simulate a real-world environment. Test data is generated and stored in PostgreSQL database. The test environment is described in the docker-compose.test.yml file in the root of the Synmetrix repository.

Clone this repository:

git clone https://github.com/mlcraft-io/examples

and navigate to the benchmarks folder:

cd examples/benchmarks
  1. Clone the Synmetrix repository:
git clone https://github.com/mlcraft-io/mlcraft && cd mlcraft
  1. Start the test Docker Swarm stack:
./cli.sh swarm up --init --env test synmetrix-test
  1. Run migrations:
./migrate.sh

NOTE: Benchmarks uses Synmetrix seed data to run tests from demo@synmetrix.org user.

  1. Run the benchmarks:
cd ../ && ./run-benchmarks.sh
  1. Stop the test Docker Swarm stack:
cd mlcraft && ./cli.sh swarm destroy synmetrix-test

Results

The results of the benchmarks are stored in the results directory. The results are stored in the csv format representing the benchmark results in a tabular format. Data from the csv files can be visualized using any data visualization tool like Excel, Google Sheets, or any other tool.