Skip to content

Support performance tests #186

Open
Open
@ligurio

Description

@ligurio

We have a need to run performance tests using luatest in, for example, CRUD module. Now CRUD has a single test that report results on each iteration to console log and then someone aggregates these results and analyze manually (or in spreadsheets). To be honest it is not convenient and is not usable for regular automated runs on CI for tracking regressions.

Performance tests are similar to unit tests, but requires at least two additional things: results aggregation and analyzing with math. I propose to support in luatest such type of tests.

How it can look like:

  • luatest already has an option --repeat NUM, that Execute all tests NUM times, e.g. to trig the JIT. We can reuse it for set a number of test iterations for results stability.
  • we need to somehow store test results for each test run and then aggregate it in a single place (table?) for analysis.
  • we need to add functions that will calculate average, stdev, max, +/- stdev (anything else?).

For better results stability we need to use taskset with luatest. Is it possible to use it automatically once performance tests run?

It would be interesting to hear ideas and opinion from @Totktonada and @VitaliyaIoffe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureA new functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions