Running the full PHPUnit suite on my laptop takes around four hours - clearly not good, given that https://docs.moodle.org/dev/PHPUnit suggests that it should take 10-20 mins. A little searching reveals that this is down to the ext4 journalling (process "jbd2").
There are various mount options to play with and I've found that using barrier=0,data=writeback,noatime brings the run time back to something sane on a test system, but:
- Some people say crippling the journalling like that is a bad idea.
- In this case it's just a test system so I'm not too worried about the data - although I'd like to keep the rest of the system protected.
- Maybe I should create a separate partition with those mount options for the database data, leaving journalling intact for everything else?
Can anyone running the test suite on some or all of Linux/ext4/MySQL advise on their setup, and how well it works for them?
Bonus question: Has anyone noticed filesystem journalling hampering performance on a live site?