• 14674
  • 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
834

Загрузка...
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
22 сент. 2017 / 16:26
  • 8033
  • 14
«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

«Это будут твои большие похороны». Гуф высказался о Скриптоните и Басте

Досталось и Скриптониту, который ранее опубликовал запись, о том, что больше не будет сниматься в клипе Гуфа и Тимати. "Я тебя ни о чем больше не попрошу, казах ты мой дорогой" - высказался рэпер.
tala03
21 сент. 2017 / 15:48
  • 4021
  • 12
Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Почему депутат Божко хочет ограничить приток сельской молодёжи в города?

Вице-спикер Мажилиса Владимир Божко остановился на некоторых деталях известного конфликта в Астане возле строящегося «Абу Даби Плаза», затронув проблему «многочисленной сельской молодёжи»...
openqazaqstan
19 сент. 2017 / 13:16
  • 2789
  • 64
«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

«Моя депрессия длилась больше двух лет». История о том, как я была готова сдаться

По данным статистики 2017 года Казахстан занимает 4 место по самоубийствам. Говорить об этом - социальное табу. Мы игнорируем разговоры о депрессиях. Потому что нам страшно.
goribaldi
18 сент. 2017 / 15:45
  • 2758
  • 91
«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

«Папина принцесса» или «обезьяна с гранатой»? Случай в бассейне

Мужчины спокойно подчиняются логичным правилам, большинство женщин пытаются выторговать себе особые условия. Я убеждалась в этом много раз.
ValentinaVladimirska
18 сент. 2017 / 14:25
  • 2226
  • 35
Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Лайфхаки для путешественников. Как я не заплатила ни цента за проживание в Испании

Бесплатное проживание и завтрак в Испании, как прокачать иностранный язык и где поймать бесплатные ништяки в Европе. Если вы backpacker, который пересекает границу разных стран каждую неделю -...
dianaobyrne
18 сент. 2017 / 12:16
  • 2786
  • 1
Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Мой опыт вегетарианства: «Я ела овощи, и сама стала как овощ»

Три года назад начитавшись-наслушавшись кое-каких знаменитых людей, я решила завязать  с абсолютно любым мясом. Как же возмущались все мои близкие, это надо было видеть, но я была непреклонна.
Bonittta
18 сент. 2017 / 14:33
  • 2181
  • 33
Путешественник был шокирован полицейским беспределом в Казахстане

Путешественник был шокирован полицейским беспределом в Казахстане

Полицейский беспредел в Казахстане осудил российский блогер и путешественник Евгений Золотухин. На своей странице он рассказал, как встретился с казахстанскими полицейскими, и как они оставили не...
tala03
18 сент. 2017 / 16:58
  • 1946
  • 13
«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

«Честный взгляд» госслужащего: «Знала бы, что ты такой гнилой, я бы тебя не брала»

Мы не такие блатные. Да, нас унижают руководители, возомнившие себя ханами, часто наши права не реализуются в должной мере. И я всегда задавался, почему на самом деле нет нормальных условий и льгот для госслужащих?!
WriterKz
вчера / 0:41