Я пытаюсь сравнить разные файловые системы, большинство из которых имеют функции кеширования / многоуровневого хранилища, но пока что это не работает должным образом. (кстати, я знаю, что это может быть неправильный сайт, но когда я искал zfs, большинство результатов SE были в stackoverflow, поэтому было неплохо спросить здесь)
При тестировании zfs я создал один пул с основным диском / разделом и другим диском (ssd), добавленным в качестве кеша. Основной диск / раздел был около 200 ГБ, SSD 120 ГБ. Это правильно отображается в zpool.
Затем я запустил набор тестов phoronix с iozone или iozone отдельно. После некоторого первоначального незнания я остановился на phoronix-test-suite run-default pts/iozone
, который затем запускал только на hdd, только на ssd и разделе hdd с ssd в качестве кеша. Причем на двух ноутах, у которых для сравнения есть ssds. В тесте с zfs + cache практически не было разницы в использовании только жесткого диска. Это было действительно очень медленно. И я убедился, что установил рабочий каталог в zpool и проверил, что там был создан временный файл, а также проверил zpool iostat, чтобы убедиться, что пул работает. Теперь, хотя я мог подозревать более низкие результаты, я бы надеялся, что скорости должны быть, по крайней мере, несколько ниже, особенно с таким «легким» тестом, как этот, который просто выполняет 3 прогона чтения записей размером 1 МБ из файла размером 8 ГБ, а затем 3 цикла записи записей размером 1 МБ из файла размером 8 ГБ.
Теперь, может быть, из-за того, как работает кеш zfs и аналогичные - они не могут быть захвачены таким простым тестом - но тогда какой тест будет хорошим для выявления преимуществ кеша? Однако, поскольку тестовый файл легко помещается в кеш-память ssd, почему он сначала не записывается туда и не передается обратно на жесткий диск в фоновом режиме?
Zpool выглядит так:
pool: ztest
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
ztest ONLINE 0 0 0
sdb7 ONLINE 0 0 0
cache
sdc ONLINE 0 0 0
errors: No known data errors
zpool status
, чтобы мы могли видеть настройку? Похоже, вы либо неправильно настроили свой пул, либо тест не проверяет то, что вы ожидали, и было бы неплохо убедиться, что это не первое. - person Dan   schedule 06.09.2018zpool create ztest /dev/sdb7 cache /dev/sdc
на основе найденных мной документов. После прочтения кажется, что кеш может быть только кешем чтения (хотя это все равно не объясняет ужасную производительность чтения), а для кеша записи потребуется дополнительно zil. Но на некоторых из тех же страниц также было сказано, что ZIL будет иметь смысл только для больших объемов хранения или огромных серверов / определенных рабочих нагрузок. Что кажется странным, поскольку в других случаях люди описывают zfs как полезные практически для всего. - person step21   schedule 06.09.2018