• 14402
  • 120
  • 7
Нравится блог?
Подписывайтесь!

Как я ловил роботов

Команда разработчиков нашего сайта Shopline.kz недавно заметила, что веб-сервер начинает кушать память, до тех пор, пока не падает по OutOfMemory. Исследование процессов на сервере показало, что в момент его падения, на нём было открыто более сотни живых сессий. Статистика Google Analytics сообщает что огромного наплыва посетителей нет, и о сотне посетителей, вошедших одновременно речи быть не может. Внутренняя статистика при этом показывает что в сутки открывается 8-18 тысяч(!!!) сессий, хотя живых посетителей на порядки меньше.

Наш софт работает так, что на каждое посещение на сервере создаётся и хранится сессия пользователя. Получалось, что десятки тысяч сессий создаются скорее всего для посещения только одной страницы. Уже тогда возникло подозрение, что это "шалят" поисковые боты. Решили доработать внутреннюю статистику, которая подтвердила предположение, показав что с некоторых IP-адресов количество просматриваемых страниц в точности равно количеству создаваемых сессий. Пробивка IP по Whois показала имена хостов вроде robot06.rambler.ru, crawl-66-249-71-174.googlebot.com, msnbot-65-55-207-69.search.msn.com и т.д.
Получалось, что разными поисковиками индексируются десятки тысяч страниц в сутки, и при этом создаются десятки тысяч сессий. Время истечения срока действия сессии у нас установлено в 20 минут, хотя ботам она не нужна вообще. А вот у нас эти не нужные сессии съедали всю память и ложили сервак.

Вобщем суть проблемы прояснилась, настало время её решать. В первую очередь встал вопрос - кто из посетителей, создавших сессию является поисковым роботом? Поиск в гугле быстро рассказал, что роботы "представляются" определёнными именами при входе на сайт, указав своё имя в HTTP-заголовке "user-agent". Проанализировав ещё раз статистику, увидели что к нам чаще всего заходят боты yandex, googlebot, dolphin, stackrambler, msnbot (более полный список существующих ботов). Было решено добавить на сервере фильтр, который проверяет user-agent посетителя, и если это один из ботов, то устанавливает минимальный срок существования его сессии. Такое решение отлично сработало:

  • сервер "задышал легче", перестал "падать", стал показывать гораздо лучшую и стабильную доступность
  • статистика Google Analytics показала что время, затрачиваемое гугель-ботом на загрузку страницы при сканировании сайта, упало в разы
  • внутренняя статистика показала что на фоне общего повышения производительности и стабильности сервера, количество создаваемых сессий(читай - посещений ботами) выросло вдвое!

PS Я достаточно опытный J2EE-разработчик (7 лет опыта разработки на Java, сертификаты уровня Java-Programmer и Java-Developer), но область разработки Web-проектов для меня достаточно нова. Поэтому прошу не плеваться старых закалённых веб-девелоперов на то что, я делаю для себя такие вот "неожиданные открытия". Тем не менее, уверен что этот отчёт будет интересен многим разработчикам...

vovan_sidorytch
28 октября 2009, 11:09
820

Загрузка...
Loading...

Комментарии

rOOse
0
0
На JSP o_O, где учился? Не ужели в Каз-не учат? Своя разработка?
Не уверен что всё понял :) , попробую всё же ответить:
- В Shopline используется JSF - это следующий этап развития Java-веба после JSP. Плюс к тому используется много других J2EE-технологий.
- касательно образования - я техник строитель, заканчивал Акмолинский стройтех. Это было очень давно и неправда. Любой серьёзный программист всю жизнь учится, независимо от того, чья корочка об образовании у него есть на руках. На просторах инета достаточно информации для изучения практически любой распространённой технологии.
- разработка в Шоплайне своя, если имеется в виду использование каких-либо CMS. Естественно используется множество бесплатных реализаций J2EE-API, таких как например, RichFaces, Hibernate, JBoss и т.д.
rOOse
0
0
Понятно, просто обычно учат PHP, в виду низкого порога вхождения.
На шоплайне нужно переписать систему поиска. Она местами не адекватна.
Нет предела совершенству, и нет поисковой системы, которой довольны все ;)
Подскажите, что именно неадекватно, а мы подумаем, что с этим можно сделать!
найдите у себя на сайте фотоаппарат Canon EOS 400D, я долго пытался его найти среди видеокамер.
Я посмотрел, у нас такого фотоаппарата просто нет в базе. Так что это проблема не поиска, а наполнения. Товары постоянно добавляются, но до хорошей наполненности ещё далеко...
да и грузится ужасно, в плане генерации страниц, иногда ждать приходится по пару секунд
p.s интернет у меня больше 8 мегабит. )
У нас пока не идеальный хостинг, бывают проблемы с доступностью ресурсов сервера. Пока посетителей немного - терпим. В ближайшие месяц-два переедем на выделенное только нам железо
ftw
0
0
в вики вроде есть все роботы с их полными данными.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Как казахстанцы могут получить кусок международного рынка аутсорса?

Как казахстанцы могут получить кусок международного рынка аутсорса?

Сокурсник Илона Маска инвестировал в образовательные проекты, и теперь хочет создать в Казахстане рабочие места на глобальном рынке аутсорса.
Zhumanova
18 мая 2017 / 13:38
  • 52261
  • 23
Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Поддержим пенсией жиреющие банки! На что казахстанцам разрешат досрочно тратить свои накопления в ЕНПФ

Со стороны ЕНПФ в очередной раз прозвучало крайне неоднозначное заявление, от которого, на наш взгляд, лучше было бы воздержаться.
openqazaqstan
вчера / 11:08
  • 8115
  • 27
Что бы ни сделал пешеход – все равно водитель сядет

Что бы ни сделал пешеход – все равно водитель сядет

Вопрос о равной ответственности водителя и пешехода при наезде на последних, только-только начинают обдумывать в высоких кабинетах. Но, пока государственные головы думают, водители продолжают...
Mirogloff
22 мая 2017 / 23:29
  • 4189
  • 32
Алматинские проститутки превращаются в шпионок

Алматинские проститутки превращаются в шпионок

Попасть в притоны на алматинском проспекте Сейфуллина, которых, как бы ни старались полицейские, меньше не становится, теперь можно, только зная явки и пароли.
Mirogloff
19 мая 2017 / 13:25
  • 4003
  • 34
Кого нам ждать: обнародована культурно-развлекательная программа EXPO-2017

Кого нам ждать: обнародована культурно-развлекательная программа EXPO-2017

Рианны не будет (как и ожидалось, в общем-то). Зато будут Мумий Тролль с Би-2, Эрос Рамазотти, 30 Seconds to Mars, и даже почему-то Limp Bizkit. А также фестивали J Azzia и "The Spirit of Tengri".
Clair-de-la-Lune
18 мая 2017 / 1:19
  • 4023
  • 11
В Алматы доставили чудотворную икону «Умягчение злых сердец»

В Алматы доставили чудотворную икону «Умягчение злых сердец»

Икона "Умягчение злых сердец" несет особые - сакральные, духовные смыслы. Ее намоленность ощущается даже за те секунды, пока прикасаешься губами к образу.
ValentinaVladimirska
20 мая 2017 / 0:09
  • 2959
  • 0
Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

Узаконенное варварство в стране, принимающей «EPXO». Еще далеко нам до «топ-30 развитых стран»

В продвинутых государствах едва ли поймут, почему в столь развитом, успешном и преуспевающем Казахстане от имени и по заданию властей творятся такие зверства над животными.
openqazaqstan
сегодня / 12:12
  • 2682
  • 66
Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Да-да, я знаю, пора выходить замуж. Есть ли у меня еще время и, пожалуйста, уточните сколько?

Итак давайте сразу начистоту. Мне 29. Не замужем, никогда не была, детей нет. В душе я совсем не чувствую этот возраст. Каждый раз когда задумываюсь об этом больше чем на 3 минуты, меня накрывает...
user2017
вчера / 10:57
Выйду замуж по расчету. Брак обесценился, пора вновь возвращать ему ценность

Выйду замуж по расчету. Брак обесценился, пора вновь возвращать ему ценность

После череды неудачных романов, статусов "все сложно", ножей в спину, идея "выйти замуж по расчету" посещает все чаще. И мне не стыдно про это говорить.
energo_ulzhan
22 мая 2017 / 17:39
  • 2355
  • 50