Поисковики ежедневно высасывают сотни мегабайт (бывет - и больше гигабайта), однако из-за их алгоритма работы они не создают серьёзной нагрузки, т.к. выкачивают наиболее часто изменяемые страницы, чем становятся похожи на "обычных" пользователей.
Качальщики же запускают "тупые" качалки, которые сразу лезут "вглубь", т.е. запрашивая старые страницы. Алгоритм кэширования движка настроен на 95% пользователей, которым не нужны (постоянно) записи пятилетней давности. Кроме того, закэшировать "всё" - технически невозможно, т.к. номинальный объём сайта исчислятся более чем миллионом различных страниц (поисковики "знают" лишь около 200 тысяч самых "адекватных"). Потому, когда качальщик начинает "поднимать ил", запрашивая древние страницы, заведомо отсутствующие в кэше - наличие кэширования уже играет против движка, т.к. древняя страница всё равно больше никому не понадобится потом, а время на её кэширование потратится.
Итого, решением проблемы могла бы стать возможность банить айпишник, с которого на протяжении, к примеру, двух минут приходит 20-40 запросов. В движке организовать такое - потребует слишком больших вычислительных мощностей (постоянно анализировать десятки тысяч айпишников на предмет их присутствия в заданном временном диапазоне - неподъёмная нагрузка для БД). А как это сделать на уровне сервера? Apache? Вот в чём вопрос. И пока решение видится лишь "экстенсивным" - наращивание мощностей самого железа.
Поисковики ежедневно высасывают сотни мегабайт (бывет - и больше гигабайта), однако из-за их алгоритма работы они не создают серьёзной нагрузки, т.к. выкачивают наиболее часто изменяемые страницы, чем становятся похожи на "обычных" пользователей.
Качальщики же запускают "тупые" качалки, которые сразу лезут "вглубь", т.е. запрашивая старые страницы. Алгоритм кэширования движка настроен на 95% пользователей, которым не нужны (постоянно) записи пятилетней давности. Кроме того, закэшировать "всё" - технически невозможно, т.к. номинальный объём сайта исчислятся более чем миллионом различных страниц (поисковики "знают" лишь около 200 тысяч самых "адекватных"). Потому, когда качальщик начинает "поднимать ил", запрашивая древние страницы, заведомо отсутствующие в кэше - наличие кэширования уже играет против движка, т.к. древняя страница всё равно больше никому не понадобится потом, а время на её кэширование потратится.
Итого, решением проблемы могла бы стать возможность банить айпишник, с которого на протяжении, к примеру, двух минут приходит 20-40 запросов. В движке организовать такое - потребует слишком больших вычислительных мощностей (постоянно анализировать десятки тысяч айпишников на предмет их присутствия в заданном временном диапазоне - неподъёмная нагрузка для БД). А как это сделать на уровне сервера? Apache? Вот в чём вопрос. И пока решение видится лишь "экстенсивным" - наращивание мощностей самого железа.