Skip to content

Benchmark: Run ansible roles in parallel for each Gitaly instance

Background

The roles are running sequentially for each Gitaly instance because Ansible's default execution strategy is linear, which processes hosts one at a time within each play.

For each gitaly instance, this means it will run one suite of benchmark in sequence, making the overall time to run benchmarks much slower and proportional to number of gitaly instances declared.

Objective

Make the ansible role run in parallel for each gitaly instance since each instance does not depend on another for results. They are completely independent.

Solutions

  1. increase parallellism in the task
  2. global parallelism set for ansible.cfg
Edited by Emily Chui
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information