最近,我们受到了 Google Bot 和各种其他机器人的攻击(我们平均遇到的网站流量中有 60% 来自机器人)。我们正在尝试将 Google Bot 流量分配到不同的服务器(低成本服务器)。但是,数据库需要复制/或镜像。如果我们想要接近实时,有没有一种解决方案比另一种更好?我们目前将生产服务器的数据放在 SAN 上。我们可以复制它,但这更像是快照复制。
答案1
不要“分割”蜘蛛。
试图“分割” WWW 蜘蛛会与 WWW 蜘蛛所有者发生冲突,后者希望他们的蜘蛛尽可能地看到其他人看到的内容。按照这种方式,你会发现自己与蜘蛛所有者陷入了一场持续不断的军备竞赛。
检查您的网站设计。
蜘蛛流量高有时是网站设计不良的征兆。例如:URL 包含会话 ID 的超链接会导致蜘蛛多次查看和抓取单个页面。检查内容 HTTP 服务器日志,了解蜘蛛流量实际上是。如果内容被反复抓取,并且只因会话 ID 等因素而有所不同,则请调整您的网站以避免出现此问题。请参阅Google 的技术指南以便检查并修复更多此类错误。
使用提供给您的工具作为最后的手段。
Google 在其网站管理员工具中提供了一个调整抓取速度的旋钮。 如果您已检查您的网站是否符合技术指南,并且您的网站设计不是导致抓取流量过高的根本原因,请使用网站站长工具。但请注意,如果您每 90 天就必须这样做一次,以降低静态内容的抓取率,那么您的网站设计很可能存在您尚未发现和修复的问题。
答案2
您的数据真的会变化那么多吗?您能否在建议的低成本服务器上为机器人提供更新频率较低的网站版本?然后,您可能能够在一夜之间刷新该数据,或者其他什么。
SQL Server 的数据库镜像实际上不允许您使用辅助数据库进行查询 - 除非您使用数据库快照进行只读访问,这是企业版功能。随着 SQL Server 的下一个版本,情况会有所改变,但这还需要一段时间。
数据库镜像也是每个数据库的,因此如果您有多个组成解决方案的数据库 - 您需要镜像它们全部。
复制更多的是移动数据的一个子集——很多人可能不同意这一点。使用任何技术转移的数据越多,所需的带宽就越大——否则就会开始落后。
也许一个解决方案就是向机器人提供更多网站的静态内容,这些内容会通过某个流程定期更新。
答案3
谢谢您的回复。我想我会尝试一下复制,看看效果如何。只会在晚上运行复制。
@JdeBP 我已经尝试过这样做,甚至尝试将抓取率设置为最小值。对我而言没有帮助。此外,这适用于近 4000 个网站。