Never knew or heard about this switch for ext4 until now.
" Delayed allocation is used by write system call. It delays real block allocation until written data is flushed from memory to disk. Prevent file fragmentation and decrease CPU utilization. Suppress writes to temporary files which exist for short period. There is a trade-off between performance and reliability. There is a known-issue on data loss. If a crash occurs when created or truncated file is closed, or a file is renamed to replace the previous file, data may be lost. To avoid the issue, mount ext4 filesystem with “noauto_da_alloc” option. "
Do you guys use this switch?
" Delayed allocation is used by write system call. It delays real block allocation until written data is flushed from memory to disk. Prevent file fragmentation and decrease CPU utilization. Suppress writes to temporary files which exist for short period. There is a trade-off between performance and reliability. There is a known-issue on data loss. If a crash occurs when created or truncated file is closed, or a file is renamed to replace the previous file, data may be lost. To avoid the issue, mount ext4 filesystem with “noauto_da_alloc” option. "
Code:
root@prox2:~# mount -o rw,nobarrier,relatime /dev/sdb2 /test2
root@prox2:~# pveperf /test2
CPU BOGOMIPS: 54277.60
REGEX/SECOND: 2688408
HD SIZE: 98.31 GB (/dev/sdb2)
BUFFERED READS: 156.89 MB/sec
AVERAGE SEEK TIME: 7.10 ms
FSYNCS/SECOND: 1852.49
DNS EXT: 45.66 ms
DNS INT: 1.09 ms
---
root@prox2:~# mount -o rw,nobarrier,relatime,noauto_da_alloc /dev/sdb2 /test2
root@prox2:~# pveperf /test2
CPU BOGOMIPS: 54277.60
REGEX/SECOND: 2618998
HD SIZE: 98.31 GB (/dev/sdb2)
BUFFERED READS: 157.14 MB/sec
AVERAGE SEEK TIME: 7.43 ms
FSYNCS/SECOND: 5231.46 <- Almost triple FSYNCS w/ noauto_da_alloc
DNS EXT: 32.68 ms
DNS INT: 1.03 ms