]> Sergey Matveev's repositories - stargrave-blog.git/commit
Как на порядок увеличить скорость чтения файла в ZFS на NVMe
authorSergey Matveev <stargrave@stargrave.org>
Fri, 26 Nov 2021 17:33:31 +0000 (20:33 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 26 Nov 2021 17:33:31 +0000 (20:33 +0300)
commitb206cedbbc0f50e43c40349e4baa62bf9db3a7e2
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent5edee8a1dda9dc7e88717054dd25002022b0c353
Как на порядок увеличить скорость чтения файла в ZFS на NVMe

А точнее как не снижать скорость на порядок. В
032f5e60bc6079a889859150d5b5baf0f80d252a писал что у меня очень не
шустро читаются файлы. Но при этом быстро идёт scrub, resilver и, как
оказалось, dd с ZVOL-ов. Последнее точно говорит что все данные проходят
через круги сжатия и проверки целостности.

Оказалось, что у меня было заблуждение на протяжении 10+ лет касательно
prefetch-а и SSD. То что prefetch может вредить random IOPS-ам, особенно
на HDD -- тут всё очевидно. Но я также считал что оно и для SSD
бесполезно будет тратить пропускную способность.

Отключение sysctl vfs.zfs.prefetch_disable=1 настройки избавило от всех
проблем со скоростью чтения файлов. Предполагаю что банальные задержки
при отправке и ожидания IO запроса и сводят на нет всю производительность.
Как в сетях и модемах: если ждать ответ на каждый запрос, и только потом
отправлять очередной, то канал утилизируется самым плачевным образом. У
меня и в мыслях не было что на таких быстрых и коротких высокочастотных
PCIe это тоже будет заметно проявляться.