MySQL Workload - absalon-james/cloud-workloads GitHub Wiki

Applies load to a single MySQL instance via the DBT-2 performance benchmark. The test continues to run with each iteration consuming one additional warehouse than the previous. The first iteration consumes 1 warehouse. The nth iteration consumes n warehouses. The key measurement is the number of new order transactions per minute(NOTPM). Iterations continue until there aren't any significant gains of NOTPM over previous iterations.

Software

Roles

Roles States Anti-States Description
dbt2_db dbt2.db dbt2.antidb Hosts the MySQL instance. Required
dbt2 dbt2 dbt2.antidbt2 Runs the DBT-2 benchmark. Required

Configuration

Property Default Description
duration 180 Length of time in seconds for each iteration of the test.
connections 20 Number of connections
warehouses 10 Total number of warehouses available.
first_warehouse 1 First warehouse to use
last_warehouse 1 Ending warehouse of the first iteration. This will be incremented by 1 for each iteration.
mindelta 250 Minimum number of new order transactions per minute over a previous iteration to qualify as a significant gain.

Example Configuration

standard_mysql:
  workload: mysql
  warehouses: 10
  first_warehouse: 1
  last_warehouse: 1
  connections: 20
  mindelta: 250
  duration: 90
  instances:
    - roles:
        - dbt2_db
    - roles:
        - dbt2

Note: It is unfortunate, but the warehouse configuration property must currently be set in two places: the yaml configuration file and in the dbt2.db pillar usually located at /srv/pillar/dbt2/db.sls.

Requirements

  • 1 dbt2 instance
  • 1 dbt2_db instance
⚠️ **GitHub.com Fallback** ⚠️