Tomcat7 & Struts1 - 处理大量 Google Bot 点击
Posted
技术标签:
【中文标题】Tomcat7 & Struts1 - 处理大量 Google Bot 点击【英文标题】:Tomcat7 & Struts1 - handling multitude of Google Bot hits 【发布时间】:2011-08-20 07:09:56 【问题描述】:我的一台服务器上超过一半的点击来自 Google Bot,它不断地爬取我们数百万的网页。
我们有这么多页面的原因是该公司是一家汽车零部件商店,对于制造商零件编号及其适合的车辆的每种组合都有唯一的 URL。这不是我们可以摆脱的;人们一直在搜索这些字词,我们需要为每个字词提供唯一的着陆页(因为我们所有的竞争对手都有,当然!)。
因此,我们有数百万个网页需要 Google 了解。这意味着我们每秒从他们的爬虫中获得数次点击,全天候,这是与任何最终用户流量一样重要和必要的流量。
由于我们不断向目录中添加新产品,每周大约有数十万个,我们的唯一 URL 列表越来越长,流量也在稳步增长。
Google bot 不会关注 cookie,这意味着它每次都会获得一个新会话,因此这会将我们的内存使用量增加到分配的最大值。
其他使用 Tomcat7 和 Struts 的人如何处理如此巨大的自动化流量?
我计划尝试的方法是在每个请求结束时在页脚 JSP 磁贴中使会话无效(当且仅当用户代理字符串是 Google 爬虫时)。这是节省内存的有效技术吗?
还有哪些其他策略可以帮助我们更有效地处理机器人流量?
【问题讨论】:
【参考方案1】:我并不完全在这个领域,但你有没有试过看看: http://www.robotstxt.org/
我想这是 google 应该遵守的标准。
【讨论】:
问题不是如何限制爬虫,而是如何让服务器更高效地处理请求。 它可以帮助减少来自机器人的调用频率,比如每秒一次(或更少)可能是正确的权衡 我认为问题不在于请求量,而是每个请求都会产生一个新会话这一事实。 OP 有数百万页要抓取,每周还有数十万页。 正确 - 我们希望 google 爬虫攻击我们,因为列出这些页面对于这项业务来说非常重要。我只是在寻找更有效地处理此类命中的策略;立即放弃会话是我打算追求的一种方法,并且想知道它的效果如何,还有什么有效的方法。以上是关于Tomcat7 & Struts1 - 处理大量 Google Bot 点击的主要内容,如果未能解决你的问题,请参考以下文章