我的一台服务器上超过一半的点击来自 Google Bot,它不断地爬取我们数百万的页面。
我们有这么多页面的原因是该公司是一家汽车配件商店,对于制造商零件编号及其适合的车辆的每种组合都有唯一的 URL。这不是我们可以摆脱的;人们一直在搜索这些术语,我们需要为每个术语提供唯一的登录页面(因为我们所有的竞争对手都有它们,当然!)。
因此,我们有数百万个页面需要 Google 了解。这意味着我们每秒从他们的爬虫中获得数次点击,全天候,这是与任何最终用户流量一样重要和必要的流量。
因为我们不断地向目录中添加新产品,每周大约有数十万个,所以我们的唯一 URL 列表越来越长,并且流量一直在稳步增长。
Google bot 不关注 cookie,这意味着它每次都会获得一个新会话,因此这会将我们的内存使用量提高到分配的最大值。
其他使用 Tomcat7 和 Struts 的人如何处理如此庞大的自动化流量?
我计划尝试的方法是在每个请求结束时在页脚 JSP 磁贴中使会话无效(当且仅当用户代理字符串是 Google 爬虫时)。这是节省内存的有效技术吗?
还有哪些其他策略可以帮助我们更有效地处理机器人流量?