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
- Related to #9264 (closed)
- Related to #11582 (closed)
Original created by @intrigeri on 10503 (Redmine)