Integrity journalling is default and ruins performance
Not sure whether this belongs here or elsewhere but...
Steps to reproduce:
-
time dd if=/dev/zero of=/dev/sdX bs=1M count=1000 oflag=direct
(7.4s, 142MB/s) -
time dd if=/dev/sdX of=/dev/null bs=1M count=1000
(5.6s, 189MB/s) integritysetup format --no-wipe /dev/sdX
integritysetup open /dev/sdX integ
-
time dd if=/dev/zero of=/dev/mapper/integ bs=1M count=1000 oflag=direct
(20.8s, 51MB/s) -
time dd if=/dev/mapper/integ of=/dev/null bs=1M count=1000
(19.3s, 54MB/s) integritysetup close integ
integritysetup open --integrity-no-journal /dev/sdX integ
-
time dd if=/dev/zero of=/dev/mapper/integ bs=1M count=1000 oflag=direct
(7.3s, 143MB/s) -
time dd if=/dev/mapper/integ of=/dev/null bs=1M count=1000
(5.8s, 181MB/s)
Expected results: Roughly equal performance for all tests.
Actual results: Journaling incurs a ~75% hit to performance.
This was briefly discussed in #335 (closed) but I thought I'd open one here in case it's the right place. Particularly, does this need to be default behaviour? What is the impact of running without a journal?
Edited by username-removed-618833