rsync 运行时间太长

6 linux rsync load-balancing

我有一个负载平衡器设置涉及 2 个服务器。这两个服务器相互镜像。blacer 的主要用途是提供静态文件。我们称它们为服务器 A 和服务器 B。

服务器 A 将从不同网络上的远程主机检索文件。正在检索的那些远程文件是社区网站的媒体文件,因此 rsync 需要每 30 分钟运行一次,以使文件保持同步。其他明智的用户会看到损坏的图像等。服务器 A 也通过 http 提供文件,峰值时间为 400MB/S

服务器 B 将与服务器 A 上的文件进行 rsync,为了保持一致性,rsync 也每 30 分钟运行一次。服务器 B 也通过 http 提供文件,峰值时间为 400MB/S

A 和 B 上的负载平均负载非常高:8.00、8.10、7.68 和更多

如何改进我的设置以减少服务器负载并提高 rsync 效率?

谢谢你

小智 1

根据文件更改的频率和文件的数量,最好等待修改然后仅发送通知。如果修改频率较低且文件总数较高,则效果会更好。在这种情况下,rsync 将访问磁盘以 stat() 所有文件以查看它们是否已更改。

http://inotify-tools.sourceforge.net/有一个简单的示例(参见示例 1),介绍如何以粗略的方式将 Linux 的 inotify(文件修改监视器)与 rsync 连接。

理想情况下,这将集成到 rsync 本身中(我认为某个地方有一些实验版本是这样做的,但现在找不到它......)