我有几个文件上传网站,文件从数百千字节到几千兆字节不等。
目前,我在几台服务器上的分布式复制 Gluster 卷中拥有所有文件。
Gluster 最大的问题是速度。
例如,我有一个包含约 80,000 张图像的文件夹,每个图像平均 500KB,我花了几个小时来更改图像的所有者。
目前一切都相当不错,但我担心有更多的文件以及处理它们所需的时间。
我有什么选择?我对 Gluster 做错了吗?
这是我的 gluster 配置:
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
在服务器之间同步文件。但是,缺点是您需要直接上传到单个服务器,并将文件从该服务器同步到所有服务器。
任何分布式文件系统在对大量文件执行批处理操作时都会受到影响:毕竟,它必须将所有更改传播到远程机器,与仅本地主机相比,延迟会飙升。这在执行元数据更改操作时尤其明显:不接触真实数据,它们在本地非常快;但是,远程复制将完全受延迟限制。
您基本上有两种解决方案:
lsyncd
(或基于rsync
)