我为静态内容创build了一个子域 ,以便能够通过多个负载平衡的Web服务器更有效地服务它。 这个静态内容会自动更新 ,每天大约1k个文件。
现在,我使用rsync以主/从方式更新服务器,但由于内容数量越来越多,100k +文件需要越来越多的时间,并且在主服务器和从服务器上都增加了I / O负载 。
我不能使用我在提高rsync性能问题上提出的解决scheme,因为我无法知道哪些文件被修改而没有stat所有这些问题,并且不能解决增加的I / O成本问题 。 我也必须处理文件删除。
我想在奴隶上使用诸如ar / o NFS之类的东西,但是这可能会在某种程度上挫败负载均衡效果,并且造成了无偿的SPOF 。
顺便说一句,服务器运行AIX,但我也有兴趣在一个更通用的上下文解决scheme。
你为什么不使用反向代理,如Squid ?
您也许应该考虑使用OCFS的DRBD,以便您可以拥有主节点/主节点。 这不会创buildSPOF,因为每个节点都有一个本地副本。
您还可以创build两个NFS节点服务器(DRBD主服务器/备用服务器或具有LB的DRBD主服务器/主服务器)。 如果你有很多节点,这是最好的select。
如果您正在使用rsync,请确保每次同步文件时都不会访问这些文件。 这样只有文件列表和时间戳得到比较,并且应该是相当快的,即使有数百万个文件。
rsync -t应该只复制时间戳和比较时间戳。 如果这不起作用,请使用选项大小(如果您的文件可能更改而不更改大小,请小心)