谈论一个巨大的(50GB,500.000 个条目)Apache disk_cache 分区:哪个 Linux 文件系统最适合执行此任务?
在我的示例中,该分区有很多(500.000)个非常小的文件(<1 KB)和很多(500.000)个大小约为 50 KB 的文件。
文件层次深达/htcache/B/x/i_iGfmmHhxJRheg8NHcQ.header.vary/A/W/oGX3MAV3q0bWl30YmA_A.header
。
典型的操作是创建目录和文件(由 Apache 创建)、读取文件(Apache 创建)以及删除文件和目录(htcacheclean 创建)。
我目前正在使用扩展当我从缓存中清除过时的文件和清空目录时,我面临着糟糕的性能问题(即,操作缓慢且 IOwaits 高)。
- ext3 文件系统是使用“-t news”创建的(即
blocksize = 4096
、inode_size = 256
和inode_ratio = 4096
)。 - 文件系统功能:“
has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
” - 该分区已安装“
noatime
”
答案1
我想知道使用非日志 FS 是否是一种选择(或者在 ext3 中关闭日志功能)。您还可以尝试一些 ext3 调整选项 - 例如 noatime - tune2fs 可能会有所帮助。
Btrfs 是目前最新的 buzzFS... 从我见过的基准来看,它与 ext4 相当(甚至更好)。如果我要开始使用新系统,我更喜欢(经过调整的)ext4,然后可能是 btrfs,然后是(经过调整的)ext3,用于处理小文件。我对 ext2 犹豫不决:老旧且稳定,没有日志功能,但还没有真正看到它与当前的 ext3/ext4/btrfs 的比较。
对于许多小文件,您可能不应该使用 XFS。