GlusterFS替代file upload的网站

我有几个file upload网站,文件从几百千字节到几千兆字节。

目前我有几个服务器上的分布式复制Gluster卷中的所有文件。

我对Gluster最大的问题是速度。

例如,我有一个大约80,000张图像的文件夹,平均每张500KB,花了我几个小时才能更换图像的所有者。

目前一切都相当不错,但是我担心有更多的文件和时间需要与他们合作。

我有什么替代方法? 我在做什么错误的Gluster?

这是我的glusterconfiguration:

performance.cache-size: 1GB performance.cache-refresh-timeout: 60 performance.cache-max-file-size: 100KB cluster.choose-local: true performance.readdir-ahead: on performance.io-thread-count: 16 client.event-threads: 3 server.event-threads: 3 

我在类似的情况下使用了lsyncd程序,我需要同步服务器的内容。 它在内部使用rsync来同步服务器之间的文件。

然而,缺点是你需要直接上传到单个服务器,并将该服务器中的文件同步到所有服务器。

在大量文件上执行批处理操作时,任何分布式文件系统都会受到影响:毕竟,它必须将所有更改传播到远程计算机,并且与本地主机相比,延迟时间更长。 执行元数据更改操作时,这一点尤为明显:不触及真实数据,本地速度非常快; 但是,远程复制将完全受延迟限制。

你基本上有两个解决scheme:

  • 使用文件共享的方法,上传你的文件在一个特定的盒子,并通过NFS导出。 虽然NFS并不是一颗银子弹(它不是一个速度怪兽),但如果再加上客户端caching,它可以充分执行
  • 使用asynchronous文件复制系统作为lsyncd (或基于rsync东西)