Рейтинг:-2

лучшая файловая система для миллионов файлов

флаг jp

Какую файловую систему/настройку Linux вы бы выбрали для наилучшей скорости в следующем сценарии:

несколько миллионов файлов В среднем размер файла ~ 3 МБ. произвольный доступ к файлам нужно часто получать список всех файлов постоянная запись новых файлов постоянное чтение старых файлов

ewwhite avatar
флаг ng
Подробнее. Пожалуйста.
djdomi avatar
флаг za
Отвечает ли это на ваш вопрос? [Можете ли вы помочь мне с планированием емкости?](https://serverfault.com/questions/384686/can-you-help-me-with-my-capacity-planning)
Рейтинг:3
флаг ca

Что действительно имеет значение, так это как вы организуете ваши файлы.

Если вы планируете иметь один большой каталог с файлами ~ 10M, любая файловая система пострадает, хотя XFS и ZFS вполне справятся даже с этим худшим случаем.

Рекомендуемый подход состоит в том, чтобы организовать ваши файлы в несколько небольших каталогов с разумным количеством файлов (~ 32 КБ), чтобы избежать различных, но связанных проблем (например: лс когда-то был очень медленным для больших каталогов).

Если это невозможно, я бы выбрал XFS или ZFS, но только после имитации предполагаемой нагрузки на тестовой установке (примечание: даже EXT4 будет в порядке с точки зрения производительности, но вы можете сильно ударить по лимиту inode).

Рейтинг:2
флаг kz

Судя по тому, что вы описываете, XFS подходит. Он был создан для обработки миллиардов файлов.Однако вам придется подумать о правильном внутреннем хранилище для того, что вы планируете.

Рейтинг:2
флаг cn

Ваша рабочая нагрузка почти наихудшая для файловой системы общего назначения.Миллионы файлов, частое перечисление, множество операций чтения и записи. Огромный ввод-вывод метаданных. При большом количестве файлов проблема редко заключается в пропускной способности передачи самого файла, а скорее в количестве операций ввода-вывода в секунду для повторного запроса записей каталога и индексных дескрипторов.

Синтетически протестируйте эту рабочую нагрузку, контролируя приложение, чтобы убедиться, что оно работает приемлемо. На реалистичных уровнях хранения и операций ввода-вывода в производственном масштабе. Обязательно соблюдайте структуру папок, 300 файлов в каталоге сильно отличаются от 3 000 000 файлов в каталоге. Попробуйте пару разных файловых систем, для Linux XFS и EXT4.

Возможно, вам понадобится очень быстрое хранилище SSD и много оперативной памяти, чтобы это работало должным образом.

Возможно, у вас есть контракт на поддержку с поставщиком ОС, по которому вы можете обратиться к специалисту по производительности.

Если этого требует получение приемлемой производительности, рассмотрите возможность изменения приложения. Рассмотрите возможность хранения и запроса списков файлов из базы данных, отличной от файловой системы. Многие базы данных могут возвращать несколько миллионов результатов быстрее, чем файловая система, ограниченная POSIX в целом и Linux VFS в частности.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.