哪个Linux文件系统最适合一个庞大的Apache mod_disk_cache分区?

讨论一个巨大的(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一样深。

典型的操作是创build目录和文件(通过Apache),读取文件(Apache)和删除文件和目录(htcacheclean)。

我正在使用ext3,而且在清除过期文件和从caching中清空的目录时,我面临着糟糕的性能(即IOwaits较高的操作缓慢)。

  • ext3文件系统是用“-t news”(即blocksize = 4096inode_size = 256inode_ratio = 4096 )创build的。
  • 文件系统特性:“ has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
  • 分区挂载“ noatime

我想知道是否使用非日志FS是一个选项(或在日志中closures日志)。 你也可以尝试一些ext3调优选项 – 像noatime – tune2fs可以帮助。

Btrfs是目前最新的buzzFS,从我看过的benhcmarks来看,它可以和ext4相媲美(甚至更好)。 如果我从一个新的系统开始,我宁愿(调整)ext4,然后可能是btrfs,然后(调整)ext3可能小文件。 我会对ext2:ext2 / ext4 / btrfs和ext3 / ext4 / btrfs相比,犹豫不决。

你可能不应该用XFS来处理很多小文件。