saltstack / community

SaltStack Community

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Improve testsuite performance (speed, parallelization) [33]

brejoc opened this issue · comments

Salt TestSuite Documentation: https://docs.saltstack.com/en/latest/topics/development/tests/index.html#salt-s-test-suite

Checkout: saltstack/salt#53566

Speed improvements

  • identify slow tests (use profiler)
  • Investigate the reason of the slowest tests: #95
  • create PR to improve performance

Parallelization

  • research how to group the tests in relevant units
  • create PoC of running the groups in parallel
  • present results

Here's the slowest tests - about 1,000 - from Salt (pulled from Jenkins).

SaltStack tests that never ran _1s - Tests to skip (_1s).csv.txt

For each of the platforms that we test (see Jenkins), these are the tests that never ran <1s. Every single test took >=1s to run. I included the max and min test times, since some of the tests ran faster on one platform than the other. The times are in seconds.

This represents about 10% of the tests that are executed on any platform.

For some extra flavor, here's another breakdown by test times:

Screen Shot 2020-04-08 at 10 31 40 AM

The legend on the right is the threshold in seconds. About 75% of tests take <0.01s, and then about another ~7% of tests <0.1s, <1s respectively, to get ~90% of tests <1s.