我有几个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:
lsyncd (或基于rsync东西)