请告诉我这种情况的解决scheme:
当文件数量超过200万时,我们遇到了随机访问时间慢的问题。 文件系统是使用noatime和dir_index选项的ext3,但不需要使用诸如“ls”或“find”之类的命令。
我认为可能的解决scheme:
如果我们select1或2,我们如何复制? rsync无法在ext3文件系统上处理这么多的数据。
对我们来说最好的解决scheme是使用Amazon S3,但是对于我们的stream量来说,这太昂贵了…也许你会推荐一些类比(便宜的CDN或开源项目)
一个目录中的数百万个文件是不好的devise,速度会很慢。 将它们细分为数量较less的目录。
看看https://unix.stackexchange.com/questions/3733/number-of-files-per-directory
使用RAID和/或SSD。 这本身并不能解决访问时间慢的问题,但是如果引入多个目录并减less每个目录的文件数量,比如说一两个数量级,这将有助于防止热点。
考虑XFS,尤其是在使用多个驱动器和多个目录时,它可能会给你带来不错的收益(参见例如这个线程的选项使用,它提供了一些关于md RAID上的XFS的技巧)。
我个人会:
mod_rewrite (猜测这是一个CDNtypes的应用程序) diff一样简单(即,您总是先同步日志并同步它们但是在replace它们以计算还需要复制之前做一个diff)。