Simple tool to build MariaDB commits for performance-change analysis

Tracking down changes in database performance is one of the hardest parts of engineering, especially when the change is buried somewhere in a long commit history.

To make this work easier and more repeatable, I put together a small but important tool:

MariaDBCommitBuilder.sh

This script does one thing well:

Given a commit hash, it checks out that commit, builds it cleanly, and packages it in a deterministic way so the Test Automation Framework (TAF) can run consistent performance tests.

Why this matters

  • When you are bisecting or doing a manual binary search across hundreds of commits, you need reproducible builds.

MariaDB Foundation: Bringing TPC-B Back To Life

When I joined Pervasive PSQL, one of the first performance test cases I was introduced to was TPC-B. It was already implemented inside Pervasive PSQL and it quickly became one of the most important tools in my daily work. A little later, another developer and I wrote the Pervasive PSQL’s TPC-C implementation in C++. Between those two workloads, and a few others, I spent nearly five years performing change testing. (https://en.wikipedia.org/wiki/Pervasive_Software)

During that time, about seventy percent of all regressions came from TPC-B, with the remaining issues coming from ATOMICs and TPC-C.