Более половины обращений на одном из моих серверов осуществляется ботом Google, постоянно сканируя наши миллионы страниц.
Причина, по которой у нас так много страниц, заключается в том, что компания является магазином автозапчастей, с уникальными URL-адресами для каждой комбинации номера детали производителя и автомобилей, которые ему подходят. Это не то, от чего мы можем избавиться; люди постоянно ищут по этим терминам, и нам нужны уникальные целевые страницы для каждого из них (потому что, конечно, они есть у всех наших конкурентов!).
Таким образом, у нас есть миллионы страниц, о которых Google должен знать. Это означает, что мы получаем несколько обращений в секунду от их сканера круглосуточно, и этот трафик столь же важен и необходим, как и любой трафик конечного пользователя.
Поскольку мы постоянно добавляем новые товары в каталог, порядка сотен тысяч в неделю, наш список уникальных URL-адресов постоянно увеличивается, а трафик неуклонно растет.
Бот Google не обращает никакого внимания на куки-файлы, что означает, что он каждый раз получает новый сеанс, так что это увеличивает использование памяти до максимально выделенного.
Как другие с Tomcat7 и Struts справляются с таким огромным автоматизированным трафиком?
Метод, который я планирую попробовать, состоит в том, чтобы сделать недействительным сеанс в конце каждого запроса в плитке JSP нижнего колонтитула страницы (если и только если строка агента пользователя является искателем Google). Это эффективный метод сохранения памяти?
Какие другие стратегии могут помочь нам более эффективно обрабатывать трафик ботов?