ИИ-краулеры увеличивают нагрузку на инфраструктуру Kernel.org: проект теперь расходует около 20% общей процессорной мощности только на обработку автоматических сборщиков данных.

Константин Рябицев, помогающий поддерживать инфраструктуру Kernel.org, сообщает, что git.kernel.org получает около 6 миллионов запросов в день только к страницам отдельных коммитов. Система доказательства работы Anubis блокирует примерно две трети, но многие запросы всё равно проходят.

Ожидаемо, это сильно влияет на работу. Kernel.org использует 90 процессорных ядер в пяти локациях, и около 14-16 из них постоянно заняты преобразованием коммитов Git в HTML для сборщиков.

“Мы тратим больше процессорных циклов на рендеринг коммитов для сборщиков, чем на все остальные виды легитимного доступа, включая клонирование git-репозиториев”

ИИ-краулеры расходуют больше процессорного времени, чем пользователи Git.
ИИ-краулеры расходуют больше процессорного времени, чем пользователи Git.

Неприятно то, что собираемые данные и так свободно доступны через Git. Вместо клонирования репозиториев и локальной работы с ними многие краулеры запрашивают страницы коммитов по одной.

Проблема усугубляется устройством git.kernel.org. Основной репозиторий Linux содержит около 1,48 миллиона коммитов, а сайт размещает сотни форков. С учётом разных представлений для коммитов, патчей, диффов и обычного текста количество URL, доступных для краулеров, огромно.

Kernel.org пробовал разные способы контролировать трафик, например блокировать определённые IP-адреса и сети. Однако эти меры стали менее эффективными, когда краулеры начали использовать резидентные и мобильные прокси-сети.

Позже команда внедрила Anubis, которая предлагает посетителям решить небольшую задачу proof-of-work перед использованием сайта. К сожалению, как и следовало ожидать, краулеры быстро адаптировались и начали решать даже более сложные задачи.

В свете этих событий Kernel.org рассматривает более прямой подход. Возможно, сократят количество URL, доступных для обхода, и ограничат ресурсоёмкие действия для анонимных пользователей. Разумеется, репозитории ядра Linux и данные разработки останутся открытыми для всех.

Подробнее можно узнать в публикации Рябицева.

Изображение: Константин Рябицев