【发布时间】:2011-01-17 11:18:27
【问题描述】:
我经营一个拥有超过 100 万张图片 (~150GB) 的图片分享网站。我目前将这些存储在专用服务器的硬盘驱动器上,但空间很快就会用完,因此我想将它们移动到 Amazon S3。
我尝试过执行 RSYNC,但 RSYNC 花了一天多的时间来扫描和创建图像文件列表。又过了一天的传输,只完成了 7% 并且让我的服务器慢了下来,所以我不得不取消。
有没有更好的方法来做到这一点,例如将它们 GZIP 到另一个本地硬盘驱动器,然后传输/解压缩该单个文件?
我还想知道将这些文件存储在多个子目录中是否有意义,或者将所有数百万个文件存储在同一目录中是否合适?
【问题讨论】:
-
这与编程无关。
-
你可以在晚上服务器不忙的时候运行它。还有一个“不错的”工具可以减少你的缓慢问题。由于 rsync 可以配置为跳过重复项,因此速度最终会提高。我肯定会将图像拆分为子目录,因为一旦您获得超过 100,000 个文件,许多 Linux 命令就会开始失败。另一个问题,如果你有太多文件,你可能会用完 inode。