Skip to content

Run erase_memory.feature first to optimize test suite performance

According to #9401-note_4, the test suite’s peak disk usage in /tmp/TailsToaster should be around 15GB these days. This matters since we mount an ext4 filesystem on that directory, and count on the Linux kernel to do caching and write to disk as little of these GB as possible. When we reach peak usage, the system under test is allocated 8GB of RAM, so to avoid any writes to disk we would need at the very least 15+8GB of RAM on each isotesterN. We “only” give them 20GB each, so inevitably a bunch of GBs have to be written to disk at some point while running erase_memory.feature (and possibly re-read from disk into cache soon after). This adds I/O load to lizard that we could happily do without (we run a bunch of other services there), and on less powerful systems reading/writing that many GBs can have a significant impact on the test suite’s runtime.

According to #9401-note_4 again, peak disk usage could be lowered to 8GB just by running erase_memory.feature first, which would magically fix all the aforementioned problems. It seems to be such a low-hanging fruit with such obvious advantages that exceptionally, perhaps we can do premature optimization and just do it. It could be good enough to just ensure that this change indeed has the intended effect on peak disk usage, and doesn’t make things worse (the test suite’s run time should be a good enough metric).

Moreover, for #9264 (closed) (deadline = end of 2015) we may want to run the test suite with absolutely everything in RAM, so decreasing max RAM usage for such usecases by 30% could impact the hardware specs quite a bit.

Feature Branch: test/10503-reorder-feature-execution

Parent Task: #10288

Related issues

Original created by @intrigeri on 10503 (Redmine)

Edited by intrigeri
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information