Кого обслуживает твой сайт на старте, юзеров или ботов? Как оценить нужную производительность? Реальные измерения. ai.. ai. ai news.. ai. ai news. ai-агенты.. ai. ai news. ai-агенты. bots.. ai. ai news. ai-агенты. bots. crawler.. ai. ai news. ai-агенты. bots. crawler. news.. ai. ai news. ai-агенты. bots. crawler. news. roscomnadzor.. ai. ai news. ai-агенты. bots. crawler. news. roscomnadzor. Веб-аналитика.. ai. ai news. ai-агенты. bots. crawler. news. roscomnadzor. Веб-аналитика. Веб-разработка.. ai. ai news. ai-агенты. bots. crawler. news. roscomnadzor. Веб-аналитика. Веб-разработка. Дизайн.. ai. ai news. ai-агенты. bots. crawler. news. roscomnadzor. Веб-аналитика. Веб-разработка. Дизайн. Тестирование веб-сервисов.

Началось все с ИИ. Решил я начинать внедрять ИИ во все что возможно свои проекты так как начиная с 2026 года они стали настолько толковыми, что можно уже стало реализовывать довольно большие проекты вообще не привлекая кодеров. Конвертируя задачу в код посредством только ИИ. Про другие не скажу но у меня работает Claude. Ну и поскольку появился рабочий инструмент то понадобилось иметь про него максимум информации при том что именно сейчас крайне высока динамика и знать постоянно все новинки с рынка это просто профессиональная необходимость. И сделал я сайт для сбора новостей об ИИ силами ИИ. И тут выяснилось интересное.

Сразу скажу что именно чтобы тем кому надо знать только итог не тратили свое время на чтение. Сайт лежит в виде виртуальной машине убунта без морды на арендованном довольно шустром хосте с 64 Озу 12 ядер 500 ССД и канал 1G. Хост крутит тоже убунта без морды.
Ну и для сайта выделено было пару ядер и пару гигабайт памяти.
Что делает сам сайт – он подключен ко всем буквально источникам новостей об ИИ как к лидерам рынка, так к вендорам и агрегаторам. Суммарно 100 источников. Он собирает все новости что найдет и те что не на английском переводит на английский. Затем чистит от дубликатов. То что осталось раскладывает на рубрики, переводит на 15 языков и выкладывает себе в ленту, выкладывает в Канал в телеге на русском только и все новости на всех языках пихает в ленту RSS.
Чтобы все это делать он пользуется несколькими ИИ подключаясь к ним по API.
То есть сайт чисто текстовый. Никаких вычислений тяжелых нет. Нет рендеров и нет картинок даже.
И вдруг выясняется что сайт на этой машине буквально еле ползает. Сайту неделя. Я там единственный пользователь. И чтобы ему нормально было работать оказалось что надо до 6G ему добавить память и выделить еще два ядра. Провел я расследование и вот что оказалось

Я обслуживаю ботов со всего мира. И одного пользователя.

начало таблицы на 150 строк
начало таблицы на 150 строк
конец таблицы с итогом

конец таблицы с итогом

Картинка порезана на две части. Начало и итог.
Дня три заняло расследование что за боты и как их отличить от людей.

А это полная таблица с реальными посетителями.

А это полная таблица с реальными посетителями.

Для яркости сравнения реальные люди. Причем один из RU это я и один из FI это тоже я.

В среднем сайт немедленно обнаружили и вовсю посещают около 25000 ботов причем как вы видите география их IP адресов крайне обширна.
Сайт буквально задыхается от ботов.

Что это означает для меня как владельца. Несколько подходов есть.

  • Надо или плевать на ботов и просто ничего не делать. Добавленные ядра и память оставить.

  • Запустить сайт через ClaudFlare и пусть он фильтрует ботов. Но из РФ это недостижимый вариант. Если конечно ваш сайт за пределами РФ и аудитория тоже.

  • Фильтровать самим еще на стадии входа пока сайт не начал отдавать контент и тратить ресурсы

  • Ну я уверен что найдется особо опытный комментатор и подскажет в комментах еще способы.

Мой вариант – третий. Для чего? для опыта и для других проектов. Для тестирования производительности таких вот текстовых сайтов чтобы иметь оценку по будущей нагрузке и потребных ресурсах.

Как сделана фильтрация

Мы используем несколько независимых слоёв — обойти нужно все сразу, а это дорого и невыгодно для массового бота:

  1. Заголовки запроса. Настоящий браузер присылает характерный набор заголовков. Скрапер, замаскированный под браузер, обычно выдаёт себя на этом уровне.

  2. Явные роботы. Известные поисковые и служебные боты определяются по подписи (User-Agent) и сразу учитываются отдельно.

  3. Выполнение скрипта. Живой браузер исполняет наш код и подгружает элементы страницы. Простые «качалки» HTML этого не делают.

  4. Реальное действие. Прокрутка, клик, нажатие клавиши — самый надёжный признак человека: боты почти никогда не скроллят.

  5. Время на сайте. Человек проводит время; автомат грузит страницу и уходит за доли секунды.

  6. Обход множества языков. Один посетитель, за сутки обошедший много языковых версий подряд, — это машинная подпись, а не читатель. В сущности достаточно обхода трех. Да и двух тоже. Если из 16 языков чел не нашел свой то он идет на английский. Ну а бот идет куда попало. Он читать и понимать не собирается.

  7. Срез «страна × язык». Дата-центры и хостинги выдают себя аномалией: много языков при минимуме прочтений на посетителя. Живая аудитория страны читает на одном-двух языках и смотрит по несколько страниц.

  8. Поведение по адресу. Адрес, с которого раз за разом приходят только бот-сессии, попадает в служебный список. Адреса, за которыми хоть раз был живой человек, туда не заносятся.

Понятно что мы собираем адреса паразитов что бы как можно быстрее потом их отшивать.

Типы ботов (они же краулеры). Уже много стало тех что дергают контент чтобы обучать своих ИИ.

  1. Поисковые роботы (индексация)
    Легитимные роботы поисковиков — мы их пропускаем и никогда не блокируем, они приносят читателей. Примеры: Googlebot, Bingbot, Applebot, YandexBot, DuckDuckBot, Seznam.

  2. ИИ-краулеры (сбор данных для моделей и ИИ-ответов.
    Собирают тексты для обучения и для ответов чат-ботов. Самая быстрорастущая категория. Примеры: GPTBot / ChatGPT-User / OAI-SearchBot (OpenAI), ClaudeBot / anthropic-ai (Anthropic), PerplexityBot, Bytespider (ByteDance/TikTok), Amazonbot, Cohere-ai, Google-Extended / GoogleOther, CCBot (Common Crawl).

  3. SEO- и маркетинговые сканеры (коммерческая разведка ссылок)
    Массово обходят сайты ради баз ссылок и ключевых слов — чужой бизнес за наш счёт. Наш самый громкий трафик. Примеры: SemrushBot, AhrefsBot, MJ12bot, DotBot, PetalBot, DataForSEO, Barkrowler, MegaIndex, SERanking.

  4. Соцсети и мессенджеры (разворачивание ссылок в превью)
    Приходят, когда ссылку кидают в чат/ленту — тянут заголовок и картинку. Примеры: facebookexternalhit, Twitterbot, LinkedInBot, Slackbot, TelegramBot, WhatsApp, Discordbot.

  5. RSS-читалки и агрегаторы
    Не люди, но полезны — доставляют наши новости подписчикам. Учитываем отдельной строкой. Примеры: Feedly, Inoreader, Feedbin, NewsBlur, Superfeedr, Miniflux, FreshRSS, Flipboard.

  6. Сканеры безопасности и инфраструктуры
    Массово прощупывают адреса и порты в интернете. Примеры: Censys, ZGrab, Masscan, Expanse, а также мониторы доступности (Pingdom, UptimeRobot).

  7. Самодельные скраперы (библиотеки и скрипты)
    «Качалки», написанные на скорую руку, без маскировки под браузер. Примеры: python-requests, Scrapy, cURL, Wget, Go-http-client, okhttp, aiohttp, httpx.

  8. Headless-браузеры и обходчики, маскирующиеся под людей

Самая хитрая категория: настоящий движок браузера с правильными заголовками, притворяется человеком. По имени их не поймать — вычисляем по поведению:

  • скрытые браузеры — Puppeteer, Playwright, PhantomJS, HeadlessChrome;

  • мультиязычные обходчики — за сутки перебирают множество языковых версий подряд;

  • датацентр-трафик — аномалия «много языков, почти нет прочтений на посетителя» (признак хостинга, а не живой страны);

  • «отскоки» — загружают страницу и уходят за доли секунды, не взаимодействуя.

Именно эта, восьмая, категория — самая массовая в нашем трафике: таких безымянных браузероподобных ботов кратно больше, чем всех названных вместе, и ловятся они только строгим поведенческим фильтром который тут как раз и описан.

Кстати сам сайт www.AI-Digest-1.com на сегодня это максимальный фильтрованный новостной агрегатор по ИИ с выкинутыми идиотскими новостями. Каждое утро сводка 10 главных новостей за сутки. После обеда сыплется уже все подряд. Обычно я смотрю только сводку.
Поток новостей со всего мира если ужат до уникальных но оставлены частично одинаковые новости но с разным комментарием в среднем 380 в сутки. Поначалу они так и сыпались все подряд но мне столько читать некогда и я сделал сводку за сутки.

Как оказалось мультиязычность сайта это прекрасный способ фильтрации по поведению. Достаточно всего три языка чтобы понять что на сайт пришел не читатель.

PОСKОМНАДЗОP

Ну и раз уж мы тут сидим многие в РФ и как оказалось что сайт невинный, без сбора пользователей и вообще чисто новостной ресурс вовсю в РФ блокирует PОСKОМНАДЗОP.
Буквально сайт недоступен из РФ. То есть иногда прорывается но чаще нет.

Отдельное расследование показало как они фильтруют контент. Оказалось что они буквально перлюстрируют весь трафик от сайта. Буквально весь. Но поскольку чем меньше размер блока который они перехватывают, тем больше им требуется поставить компов на анализ, то есть предел ниже которого они не могут опустится. Это 4 кБ.
Если пакет ниже 4 кБ то он проходит без фильтрации.

Для обычного сайта 4кБ практически невозможно преодолеть.
Но новостной агрегатор путем переделки страницы чисто русской это может.
Вот как выглядит нормальная страница

Полный набор элементов, иконки, стили. Все есть.

Полный набор элементов, иконки, стили. Все есть.

А вот обубоженная из-за PОСKОМНАДЗОP русская страница.

Максимально голые тексты да еще и выдача новых элементов при скролле.

Максимально голые тексты да еще и выдача новых элементов при скролле.

Дизайн похуже но вся информация на месте.

Как мы отдаем контент чтобы не тратить ресурсы на того кто нам не нужен

Отбой на самом входе — до контента и базы Проверка «это бесполезный бот?» стоит первой, раньше маршрутизации, шаблонов и обращений к базе данных. Бот разворачивается на входе и не запускает ни одной дорогой операции.

  1. Вместо сайта — лёгкая страница-заглушка Вычисленный бот получает крошечную статическую HTML-страницу вместо полноценной: без запроса новостей, без сборки шаблона, без картинок и догрузок. Одна операция — и ответ готов.

  2. Заглушка выглядит как настоящая страница. Она спецом генерится. Это валидный HTML с заголовком, а не пустой обрубок и не ошибка. Бот «получил страницу» и уходит — не распознаёт заглушку, не долбит повторно и не пытается зайти в обход. Тихо и без эскалации. Ну там и текст тоже вполне издевательский вставлен.

  3. Соединение закрываем сразу Ответ идёт с указанием немедленно закрыть соединение — бот не «висит» на нашем сервере, слот освобождается мгновенно, keep-alive на него не тратится.

  4. Повторных нарушителей узнаём мгновенно — по памяти Адрес, за которым уже числятся бот-сессии, проверяется в оперативной памяти (без похода в базу на каждый запрос) и сразу отправляется на заглушку. Быстро и почти бесплатно.

  5. Поисковиков никогда не спроваживаем Роботы поисковых систем в стену не попадают ни при каких условиях — они приносят читателей. Экономим на бесполезных, не задевая полезных.

  6. Мусорные запросы отсекаем без записи Служебные пути, не-HTML, ответы с ошибкой, зонды уязвимостей (типа wp-admin, install.php) — отбрасываются сразу, ещё до учёта, не открывая базу и не создавая записей.

  7. Ботам — ничего тяжёлого Даже те автоматы, что доходят до сайта, не получают дорогих ресурсов «на догрузку»: изображений, боковых лент, фрагментов. Тяжёлое — только живым. Я не слишком богат чтобы спонсировать иностранных ботов.

Итог: на бесполезного бота уходит одна дешёвая операция вместо полной сборки страницы с запросами к базе. При потоке автоматов это и есть разница между спокойной работой скромного сервера и его перегрузкой.

Что такое дорогая операция – это перевод через ИИ базовой информации которая вся на английском на язык пользователя.

В чистом виде сбор новостей со всех языков и последующий перевод на английский с фильтрацией дубликатов делает DeepSeek. Затраты на это около 0.5 евро в день.
На днях видимо подорожает. При трафике пользователей 1000 в день будет переводится еще много контента и это будет примерно еще 1 евро в день.

Надеюсь описанный опыт будет полезен как в части ботов так и в части прохождения мимо PОСKОМНАДЗОPа.

Автор: dbalabolin

Источник