Каковы подходящие варианты mkfs
и mount
для файловой системы ext4 с папкой, содержащей> 10 миллионов файлов для чтения?
Что у меня есть на данный момент:
umount /media/dirsizetest
mkfs.ext4 -L DIRSIZETEST -E lazy_itable_init=1 -E lazy_journal_init=1 -m 1 /dev/sda1
mount -t ext4 -o nodiratime /dev/sda1 /media/dirsizetest
Некоторый контекст в порядке. Я провожу слегка (хорошо, очень) сумасшедший эксперимент, в котором наблюдаю, как разные файловые системы работают с одной папкой, заполненной миллионами небольших файлов. В конце концов, я буду заполнять диск емкостью 1 ТБ, делая это (я же говорил вам, что это был сумасшедший эксперимент!).
Шаблон доступа выглядит примерно так:
Recreate the volume from scratch (using mkfs) and mount it.
Create a sub-directory, fill it with N files in sequence (named 1...N)
(where N can be up to 2^63)
Read all files in order
Read all files in random order
Print how it takes
Моя естественная среда обитания - это мир Windows NTFS, и множество вариантов mount
и mkfs
немного устрашающие. Так что я ищу рекомендации о том, какие варианты могут повлиять на мою производительность.
Я работаю в 64-битной среде рабочего стола Ubuntu 12.04.
Эти инструкции НЕ БЕЗОПАСНЫ и не должны использоваться в производственной среде без мер предосторожности.
Например, карта RAID с батарейным питанием может помочь снизить риски.
Используйте на свой страх и риск
Если вам просто нравится это в качестве тестовой среды, я бы порекомендовал варианты ext4
noatime,data=writeback,barrier=0,nobh,errors=remount-ro
это
для mkfs.ext4 я смог найти только вариант
dir_index
Use hashed b-trees to speed up lookups in large directories.
полезный
Некоторое исследование я нашел по следующим ссылкам. Ответ Криса Перрина дает краткий список вариантов; они должны содержать дополнительные справочные материалы.