У нас есть ситуация, когда боты составляют 40% запросов страниц для медленного веб-приложения.
Краткосрочная помощь
В качестве немедленного облегчения я подумал о следующем:
Отделение по серверам «трафика ботов» от «пользовательского трафика» даст дополнительное преимущество более точного анализа на стороне сервера (т.е. знание того, что весь трафик исходит от «реальных пользователей», а не от ботов). Кроме того, мы могли бы использовать более медленный сервер для «бот-трафика» и выделить больше ресурсов «добросовестным клиентам»,
Контекст
Вопрос:
Пожалуйста, взвесьте с любыми другими предложениями
заранее спасибо
Есть риск проиграть за то, что вы не ответили на ваш вопрос:
Вы можете замедлить работу робота Googlebot, используя настройку в Инструментах Google для веб-мастеров.
Большинство основных поисковых роботов поддерживают директиву Crawl-delay в robots.txt, чтобы замедлить их. Бот Yahoo может быть особенно агрессивным.
Полностью запретите подобные Baidu в robots.txt. Они не делают тебе ничего хорошего.
Думайте об агрессивных ботах как об атаках DOS и ограничьте частоту запросов с каждого IP-адреса, используя либо IPTABLES, либо плагин mod_security для Apache.
Пара предложений:
User-Agent
для маршрутизации ботов (или чего-то подобного) на статическую страницу, чтобы ваше приложение не тратило циклы, отвечая ботам. См. Руководство по перезаписи мода в котором есть несколько примеровrobots.txt
опция? Это может быть самый простой способ снизить нагрузку на ваш сервер. Добавление еще одного сервера может быть «дорогостоящим» (по времени и обслуживанию) и не будет моим первым выбором.