эта штука считывает с выравниванием от больших к маленьким,
блоки размером с -b, а не с размером выравнивания
направление не понятно мне
pre align - blocksize
on align - blocksize / 2
post align
https://github.com/bartman/flashbench/blob/master/flashbench.c#L300
в итоге наколдовал
256M
группа распределения? т.е. выполнение на них распараллеливается, 128MB 1/2, а 64M лишь 1/4
32M
тоже нормально паралелятся, но что-то мне подсказывает что это из-за слабой нагрузки?
8M
блок стирания максимальный? т.е. выполнение на границе медленное
<=16K
для запросов чтения?
остановился пока на этом, zone 256M скорость записи была выше, чем с 32M
mkfs.f2fs -s $((8388608/1024/1024/2)) -z $((268435456/8388608)) /dev/sdX
flashbench -a -c 5000 -b $((1024)) /dev/sda
align 68719476736 pre 76µs on 86.2µs post 72.8µs diff 11.9µs
align 34359738368 pre 89.3µs on 100µs post 84µs diff 13.7µs
align 17179869184 pre 101µs on 114µs post 97.8µs diff 14.9µs
align 8589934592 pre 97µs on 112µs post 95.3µs diff 16.1µs
align 4294967296 pre 99.1µs on 107µs post 97.1µs diff 9.2µs
align 2147483648 pre 82.9µs on 108µs post 101µs diff 16.7µs
# 1-4 гигабайт, данун ах
align 1073741824 pre 88.4µs on 98.3µs post 85µs diff 11.6µs
align 536870912 pre 87.7µs on 99.8µs post 87.6µs diff 12.2µs
# считывание с разных 256MB быстро
align 268435456 pre 83.6µs on 90.5µs post 84.2µs diff 6.61µs
# считывание с разных 128M нормально
align 134217728 pre 87.6µs on 96.3µs post 87.5µs diff 8.82µs #128M
# медленно считывает на границе 64M
align 67108864 pre 87.2µs on 118µs post 83.4µs diff 32.3µs
# с границей 32M непонятно
align 33554432 pre 85.6µs on 92.9µs post 85.3µs diff 7.48µs #32M
align 16777216 pre 87.2µs on 114µs post 87µs diff 26.9µs
align 8388608 pre 80.9µs on 108µs post 86.8µs diff 23.9µs #8MB
# в пределах 8M и на границе 4M считывает быстро
align 4194304 pre 77.3µs on 80.7µs post 74.5µs diff 4.78µs
align 2097152 pre 74.9µs on 89.1µs post 79.1µs diff 12.1µs
# самые быстрые 1M, но не с другого конца
align 1048576 pre 71.8µs on 86.5µs post 80.8µs diff 10.2µs
align 524288 pre 82.1µs on 89.4µs post 74.1µs diff 11.3µs
align 262144 pre 88.8µs on 96.8µs post 83.1µs diff 10.9µs
align 131072 pre 90.5µs on 94.7µs post 89µs diff 4.96µs
align 65536 pre 87.3µs on 97.9µs post 85.7µs diff 11.4µs
align 32768 pre 85.6µs on 94.2µs post 85.8µs diff 8.53µs
# на границе 16к считывает медленно, но почему большие выравнивания быстрые
align 16384 pre 87µs on 104µs post 85µs diff 17.9µs
# на границе 8к считывает быстро, значит в пределах 16к блока
align 8192 pre 84.5µs on 95.5µs post 90.4µs diff 8.08µs
align 4096 pre 87.6µs on 96.7µs post 85µs diff 10.4µs
align 2048 pre 86.1µs on 86.6µs post 85.9µs diff 592ns
ничего не понимаю