Я собираюсь создать образ базы данных PostgreSQL (для работы на Amazon EC2) и слышал хорошие отзывы о XFS.
Однако, поскольку в конечном итоге вы являются при работе на виртуальной машине прирост XFS на EC2 может быть не таким большим, как на системе barebone.
Увижу ли я значительное улучшение с XFS на EC2?
Нет я так не думаю.
Вы ничего не потеряете с XFS, но и не сильно выиграете, поскольку вы, скорее всего, ограничены EC2. (Это скорее мнение, чем факт.)
ОТОН: Я использую XFS везде, где могу.
В качестве единой точки данных по состоянию на апрель 2020 года у меня было 2 очень похожих экземпляра, выполняющих очень похожую рабочую нагрузку: t3.large, диск EBS объемом около 4 ТБ, один из которых использует XFS, а другой EXT4.
XFS был примерно на 25% быстрее.
Для полноты картины загрузкой был клиент Hyperledger Besu Ethereum, выполняющий полную синхронизацию, что переводится в огромные базы данных RocksDB с в основном случайным доступом. Узкое место - это IOPS.
По совпадению, я сейчас тестирую решения для хранения данных на Windows 10 LTSB 1607. 14393.1770
ВМ на KVM qemu-2.9.1-2
Fedora 26 x86_64 4.13.11-200
Короче говоря, многое зависит от вашей среды, но для меня это было быстрее, чем ZFS. Я не уверен, какие оптимизации сделал Amazon с EC2, но он также основан на RHEL, который, в свою очередь, основан на Fedora, поэтому, надеюсь, моя тестовая среда достаточно похожа, чтобы быть достойным сравнением. Команда RHEL / Fedora поддерживает XFS, и это файловая система по умолчанию в их дистрибутивах - я могу понять, почему после этих тестов ...
Вот хорошая научная статья с большим количеством тестов, сравнивающих XFS с EXT3 и EXT4 от Калифорнийского университета в Беркли:
https://people.eecs.berkeley.edu/~kubitron/cs262/handouts/papers/hellwig.pdf
TL; DR --- Если вам нужен образец тестов:
Компьютер представляет собой SM x9spu-f Xeon E3-1230 v2 с корневой файловой системой Seagate Enterprise емкостью 1 ТБ. Инфраструктура хранения представляет собой два диска HGST he8 8 ТБ, заполненных гелием, и Intel DC S3700 емкостью 800 ГБ, который примерно на 60% переполнен сверх спецификации. Диски fdisk второго поколения разделены на разделы, выровнены по 4 КБ (размер блока 4096).
Я начал с версии OpenZFS 5000
установлен в sync=always
. Мне он нравится, он удобен и прост в использовании, имеет отличные функции, но, похоже, использует много ресурсов процессора. Виртуальная машина казалась медленной при использовании, хотя загружалась только она. Я снизил скорость ARC до 4 ГБ, что не оказало негативного влияния на пропускную способность во время моих тестов.
Вот пример из этих тестов:
Потом перешел на XFS 4.10.0-1
и bcache 1.0.8-8
, та же избыточная подготовка SSD, cache_mode writeback
. Казалось, это действительно немного ускорилось. Виртуальные машины кажутся действительно «быстрыми». Во время моих тестов оперативная память никогда не превышала 4G.
Замечание: в порядке убывания скорости лучшим форматом был qcow2, по сравнению с raw, qed и vmdk (по крайней мере, для этой версии KVM).
Я знаю, что контейнеры (или на самом деле любой тип ОС или ВМ) требуют, чтобы время поиска было как можно короче, особенно при работе с множеством других клиентов и одновременных клиентов, но результаты XFS были немного хуже - имейте в виду, хотя У ZFS было более быстрое время поиска, у него также был значительный ARC (RAM) для кэширования, которого не было у машины XFS, так что в этом отношении это не совпадение. Если бы он был отключен, я почти уверен, что установка XFS была бы быстрее (извините, у меня пока нет данных).
Надеюсь, это поможет вам с вашим решением!