Влияет ли количество файлов на производительность fsck?


3

Будет ли диск 100 ГБ с 1000000 файлами занимать больше времени, чем диск 100 ГБ с 100 файлами при запуске fsck?


Чтобы быть ясным: 1 000 000 файлов и 100 файлов занимают одинаковое количество места?
Dennis

@ Денис Да, то же самое место занято.
IMB

скорее всего это будет медленнее. Он должен пройти список имен файлов 1 за один раз и убедиться, что они правильные. Насколько медленнее, зависит также от файловой системы, скорости жесткого диска и скорости процессора. Также, если код файловой системы является кодом для многопоточности или нет.
cybernard

Ответы:


8

Это зависит от файловой системы и параметров, которые вы используете с fsck.

Какие fsck Проверки и попытки ремонта дает довольно подробное объяснение того, что делает fsck при вызове без переключателей.

Некоторые проверки занимают постоянное количество времени (например, проверка суперблока), многие из них зависят от количества инодов, которые fsck должен обработать (например, проверки количества ссылок), другие - от размера файловой системы (например, обычные данные). блок проверки).

Без -c Переключатель fsck не проверяет содержимое обычных файлов, поэтому размер файлов не имеет значения. Даже при проверке на наличие поврежденных блоков время выполнения увеличивается только с размером файловой системы. Какая часть раздела занята, не влияет на время выполнения. 1

Номер иноды файловой системы является постоянной, то есть определяется во время создания. Метаданные каждого файла хранятся в одном из таких inode. В соответствии с ext4 Неиспользуемые inode помечаются как таковые в ext4, но не в ext3. Таким образом, время выполнения fsck увеличивается с количеством файлов в ext4, но является постоянным (и высоким) в ext3.

Следующий рисунок иллюстрирует это:

comparison

Обратите внимание, что разные количества файлов представлены разными цветами. Графики для ext3 с 2.1 миллионами, 100 тысячами и даже нулевыми файлами идентичны. График для ext4 с файлами 2.1M и 100k соответственно показывает значительную разницу.

Напротив, время выполнения увеличивается с числом inode с ext3, в то время как неиспользуемый inode не влияет на время выполнения с ext4.


1 Проверено опытным путем, запустив fsck -c на пустом разделе.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.