Говоря об огромном (50 ГБ, 500 000 записей) разделе Apache disk_cache: какая файловая система Linux лучше всего подходит для этой задачи?
В моем примере раздел содержит много (500 000) очень маленьких файлов (<1 КБ) и множество (500 000) файлов размером ~ 50 КБ.
Иерархия файлов настолько глубока, насколько /htcache/B/x/i_iGfmmHhxJRheg8NHcQ.header.vary/A/W/oGX3MAV3q0bWl30YmA_A.header
.
Типичными действиями являются создание каталогов и файлов (Apache), чтение файлов (Apache) и удаление файлов и каталогов (htcacheclean).
Я сейчас использую ext3 и я сталкиваюсь с плохой производительностью (т.е. медленными операциями с большим количеством IOwaits) при очистке устаревших файлов и очищенных каталогов из кеша.
blocksize = 4096
, inode_size = 256
и inode_ratio = 4096
).has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
"noatime
"Интересно, можно ли использовать файловую систему без ведения журнала (или отключить ведение журнала в ext3). Вы также можете попробовать некоторые параметры настройки ext3 - например, noatime - tune2fs может помочь.
Btrfs - это новая buzzFS на данный момент ... судя по тестам, которые я видел, она сопоставима (или лучше) с ext4. Если бы я начинал с новой системы, я бы предпочел (настроенный) ext4, затем, возможно, btrfs, затем (настроенный) ext3 для небольших файлов. Я бы не стал сомневаться в ext2: old и stable и не имеет журналирования, но на самом деле не видел его по сравнению с текущими ext3 / ext4 / btrfs.
Вероятно, вам не следует использовать XFS для многих небольших файлов.