Всем привет, вот несколько тестов, может кто-то сможет объяснить, как сделать ZFS быстрее: конфигурация тестового сервера: CPU: 32 x Intel® Xeon® CPU E5-2665 0 @ 2.40GHz (2 сокета) RAM: 128 Гб 2x1Tb корпоративных SSD: разделы rootfs + кэш + zil (sda3 и sdb2) для ZFS 2x2Tb гибридных SHDD P710H мини встраиваемых (2 Гб кэш) Конфигурация: была установлена Netinstall Debian 9 и сверху PM5 - это позволяет разделять диски так, как я хочу. Гибридные диски собраны в аппаратном RAID 1, так как встроенный контроллер не имеет режима jbod, а 2 RAID 0, объединенные в md или z-mirror, работали намного медленнее, как не показано в результатах. Тестировались конфигурации HDD: 1. ZFS создан прямо на /dev/sdc (Solaris /usr & Apple ZFS) 2. ZFS создан на /dev/sdc1 (gparted создал основной раздел) 3. ext4 4. xfs Обе ZFS имели кэш и логовые разделы на отдельных SSD. sync = отключен, сжатие оставлено по умолчанию, так как это не влияет на ввод-вывод, только на загрузку ЦП, dedup=off. Инструмент fio используется для тестирования. Конфигурационный файл: Скрытый текст: конфигурационный файл fio # cat vm-data.rand-read-write.ini [readtest] blocksize=4k rw=randread ioengine=libaio iodepth=32 [writetest] blocksize=4k rw=randwrite ioengine=libaio iodepth=32 Это запускалось как: fio vm-data.rand-read-write.ini --size=3G --filename /<точка монтирования>/test Размер файла 3 Гб был выбран после экспериментального тестирования, когда ZFS испытывал серьезное ухудшение производительности, если тест имел файл больше 2 Гб. Чтобы быть полностью уверенным, что ничего не повлияет на результаты, после каждого запуска производился перезагруз. Каждый тест имел 3 итерации. Итак, результаты: Скрытый текст: Результаты HW + ZFS(sdc) + C + L + sync (без directio) Чтение Запись Запуск: 1 331164 11433 Запуск: 2 447599 8350 Запуск: 3 316630 10258 HW + ZFS(sdc1) + C + L + sync (без directio) Чтение Запись Запуск: 1 273232 13052 Запуск: 2 356658 14071 Запуск: 3 596572 14037 mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/sdc1 EXT4 Чтение Запись Запуск: 1 438245 720835 Запуск: 2 458293 640547 Запуск: 3 397840 554997 XFS Чтение Запись Запуск: 1 348 349 Запуск: 2 - - Запуск: 3 - -
Выводы из результатов: 1. ZFS из стандартной установки proxmox примерно на 30% медленнее, когда ZFS создается вручную на родном linux-разделе. 2. XFS такой медленный, что его можно использовать в продакшене - это результат, который я не могу объяснить. 3 Гб файл выполнялся несколько часов, я не показывал это на графике. 3. ext4 работает намного быстрее при записи, что позволяет серверам с высокой нагрузкой работать намного плавнее, чем на ZFS, особенно во время резервных копий. 4. Если вы все же хотите ZFS - собирайте его вручную, а не через установщик PM. Итак, я хочу обратиться за помощью ко всем, кто использует ZFS в качестве хранилища - какую конфигурацию дисков/RAID вы используете, чтобы ZFS работал без проблем? Особенно когда PM5 в активном режиме и предлагается запускать ZFS...
Выводы из результатов: 1. ZFS из стандартной установки proxmox примерно на 30% медленнее, когда ZFS создается вручную на родном linux-разделе. 2. XFS такой медленный, что его можно использовать в продакшене - это результат, который я не могу объяснить. 3 Гб файл выполнялся несколько часов, я не показывал это на графике. 3. ext4 работает намного быстрее при записи, что позволяет серверам с высокой нагрузкой работать намного плавнее, чем на ZFS, особенно во время резервных копий. 4. Если вы все же хотите ZFS - собирайте его вручную, а не через установщик PM. Итак, я хочу обратиться за помощью ко всем, кто использует ZFS в качестве хранилища - какую конфигурацию дисков/RAID вы используете, чтобы ZFS работал без проблем? Особенно когда PM5 в активном режиме и предлагается запускать ZFS...