请告诉我这个场景的解决方案:
>数百万个文件,位于一个目录中(“img / 8898f6152a0ecd7997a68631768fb72e9ac2efe1_1.jpg”)
平均文件大小约为80k
> 90%随机读取访问权限
>备份(复制)到其他服务器(每5分钟或立即)
>图像元数据保存到数据库中
当文件数量超过2百万时,我们遇到了随机访问时间慢的问题.
文件系统是带有noatime和dir_index选项的ext3,但不需要使用’ls’或’find’之类的命令.
我认为可行的解决方案:
>继续使用ext3,只需将目录树结构转换为“img / 889 / 8f6 / 152 / a0ecd7997a68631768fb72e9ac2efe1_1.jpg”
>迁移到其他文件系统(ReiserFS,XFS,EXT4等)
>使用分布式文件系统设置存储引擎(举例)
>或者其他……
如果我们选择1或2,我们如何复制? rsync无法处理ext3文件系统上的这么多数据.
对我们来说最好的解决方案是使用Amazon S3,但这对我们的流量来说太贵了…也许你推荐一些类比(便宜的CDN或开源项目)