04.04.2009, 15:14 | #1 |
Эксперт
Регистрация: 01.04.2008
Адрес: Москва
Сообщений: 1,131
Вес репутации: 239
|
Как ограничить жадность сапе-бота?
Подскажите как ограничить жадность сапе-бота?...
Сайт находится на мастерхосте, на виртуальной площадке. Приходит бот начинает грабить страницы, за одну минуту бывает делает по 50-100 запросов. От такой "наглости" площадка вылетает в 503 ошибку с сообщением в еррор_лог: [Sat Apr 4 13:28:51 2009] [warn] [client 127.0.0.1] CPU limit of 5.0% has been exceeded (has been used more then 12.3% CPU) [Sat Apr 4 13:28:51 2009] [warn] [client 127.0.0.1] Resource usage limit has been exceeded, access to arbeninoy.net was temporarily denied Соответственно ссылки получают статус ERROR. Такая проблема появилась примерно 2 недели назад. Раньше практически то же самое было от яндексовского бота, но его удалось "утихомирить" директивой Crawl-delay в robots.txt. С саповским ботом что-то не получается у меня (( |
05.04.2009, 20:06 | #3 |
Мафиози
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 248
|
Гы, притормозить загрузку сайта на 3 сек?
__________________
|
05.04.2009, 22:57 | #5 |
Эксперт
Регистрация: 01.04.2008
Адрес: Москва
Сообщений: 1,131
Вес репутации: 239
|
делать слип по ip?
а как это соотносится с проблемой? - за одну секунду приходт 50 запросов, делаем всем слип на 3 секунды. за следующую секунду приходит еще 50 запросов, опять слип делаем.... и в итоге в памяти висит куча процессов со слипом, но выполнять-то все эти процессы все равно придется.... отсрочить гибель на 3 секунды? ) |
05.04.2009, 22:59 | #6 |
Эксперт
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 391
|
А никак не утихомирите, разве временным баном IP, но тогда ерроры получите.
__________________
|
06.04.2009, 12:58 | #7 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 374
|
Cyj, скорее всего ваши скрипты грузят БД запросами
если создать индексы в БД то нагрузка заметно снизится при запросе/поиске/сортировки по неиндексному полю ВСЕГДА (при каждом запросе) просматриваются все строки таблицы не зависимо от частоты запроса |
06.04.2009, 16:02 | #8 |
Эксперт
Регистрация: 01.04.2008
Адрес: Москва
Сообщений: 1,131
Вес репутации: 239
|
Последний Герой, проблема появилась пару недель назад, до этого все нормально работало. Про базу я конечно, подумал в самом начале. Оптимизировал все таким образом, чтобы на странице остался всего один запрос по индексному полую. Ероров заметно поубавилось, но все еще присутствуют. Следующий шаг оптимизации - вывод информации из базы в файлы )
Я склоняюсь к мысли что, база нестабильно работает и ошибки с нагрузкой вызваны работой мускула. Но вопрос-то не как исправить ерроры, а как ограничить жадность бота. |
06.04.2009, 16:13 | #9 |
Специалист
Регистрация: 14.02.2009
Сообщений: 263
Вес репутации: 201
|
Сильно сомневаюсь, что у сапы многопоточность бота реализована по отношению к скачиванию с одного сайта. Скорее всего идет запрос на страницу, после получения страницы идёт второй запрос на страницу итд.
Надо будет поэксперементировать. |
06.04.2009, 17:04 | #10 |
Bannеd
Регистрация: 17.09.2008
Сообщений: 6,446
Вес репутации: 374
|
Cyj, а как часто главная изменяется? если создать cron и кешировать её в файл, чтобы при обращении она всего лишь считывалась с диска - никакой нагрузки на ЦП
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неуёмная жадность :))) | админ | Курилка | 12 | 29.09.2008 05:06 |
Можно ли ограничить длинну текста ссылки | Буедорф | Вопросы от новичков | 2 | 16.08.2008 17:38 |
Ограничить кол-во символов! Пусть ВМ ставит предельное значение. | poiuyt | Пожелания пользователей системы | 1 | 12.08.2008 14:58 |
Автоматически ограничить длину ссылок можно? | trepang | Вопросы от новичков | 5 | 26.04.2008 08:41 |
Ограничить время WAIT (ожидания подтверждения) | Lesnik59 | Пожелания пользователей системы | 3 | 05.03.2007 12:57 |
Часовой пояс GMT +3, время: 23:42.