Мой сервер содержит 128 мониторов, что привело к множеству операций ввода-вывода произвольной записи. Если я использую SSD, многие записи скоро сделают его сломанным.
Я прочитал несколько статей о F2FS и знаю, что она лучше работает на флеш-дисках и произвольной / мелкой записи.
На моем сервере много случайных операций ввода-вывода с записью. Это всегда снижает производительность моего сервера.
Если я смонтирую F2FS на HDD? Это работает лучше, чем ext4?
====== ОБНОВЛЕНИЕ ======
RAID0 просто для теста производительности, на самом деле я буду использовать RAID5 или RAID6.
После того, как я много искал, возможно, работает два способа:
Не используйте RAID0, отказ любого диска приведет к уничтожению массива. RAID6, RAID10, даже один диск без массива были бы лучше для доступности.
f2fs призван быть дружественным к современным твердотельным устройствам, а Linux md может работать очень быстро.
Однако невозможно делать общие утверждения, такие как f2fs для массива, лучше без данных. Вам необходимо принять во внимание, какова ваша рабочая нагрузка, был ли образец ввода-вывода протестирован на системе, аналогичной вашей, и какие существуют ограничивающие факторы.
Проведите анализ емкости. Оцените такие вещи, как количество запросов к базе данных в секунду или количество прочитанных и записанных файлов. Измеряйте IOPS с помощью таких инструментов, как iostat -xz 1
. Если r/s
и w/s
цифры приближаются к номинальной емкости устройства, могут потребоваться более быстрые диски. Ожидайте примерно 100 операций ввода-вывода в секунду на вращающийся магнит и как минимум пару тысяч операций ввода-вывода в секунду для большинства твердотельных накопителей. И от того, подключены ли диски как SATA или NVMe, все по-разному.
Оцените производительность каждого ресурса в системе. Быстрое хранилище мало помогает, если у вас ограниченный процессор или память. Память особенно полезна в качестве кеша. Чрезмерная подкачка - это плохо, поскольку файл подкачки снижает производительность системы хранения, но не так быстро, как DRAM.
Как только вы сейчас поймете производительность системы, вы сможете приступить к оценке изменений в системе хранения.
Использование F2FS на классическом жестком диске - не лучшая идея: хотя его производительность произвольной записи, вероятно, будет выше, чем EXT4 или XFS, скорость последовательного чтения на устаревшей файловой системе будет очень разочаровывающей.
Чтобы повысить производительность произвольной записи без использования кэша обратной записи с защитой от потери мощности (читай: настоящего RAID-контроллера), вы должны настроить свои приложения на не вызовите fsync (), но это воля значительно увеличивают вероятность потери данных при незапланированном отключении. Делать не отключите барьеры на системном уровне (например, сообщив ядру, что у вас есть запись через кеши), так как это может привести к уничтожению всей файловой системы в случае потери мощности.
Вы также можете рассмотреть возможность использования ZFS (желательно оставить чередование на себя, а не на уровень MDRAID): из-за своей природы CoW случайные записи значительно быстрее, чем в другой файловой системе, в то время как расширенное кеширование позволяет избежать проблем с последовательным чтением. Он даже поддерживает sync=disabled
: если вы можете выдержать окно потери данных ~ 5 с в случае неожиданного завершения работы, оно обеспечит тонну случайных операций ввода-вывода в секунду при записи, не влияя на согласованность приложения или файловой системы.
Наконец, если вы используете EXT4, вы можете провести быстрый тест с помощью data=journal
: хотя это снизит производительность последовательной записи, случайная запись должна быть несколько быстрее, чем режим журнала по умолчанию.