экземпляры гусеничных - PullRequest
0 голосов
/ 21 июня 2009

я создаю крупномасштабный веб-сканер, сколько экземпляров является оптимальным при сканировании сети при ее запуске на выделенном веб-сервере, расположенном в фермах интернет-серверов.

Ответы [ 2 ]

4 голосов
/ 19 декабря 2011

Чтобы создать крупномасштабный сканер, вам придется столкнуться с некоторыми проблемами, такими как:

• Невозможность хранить всю информацию в одной базе данных.

• Недостаточно ОЗУ для обработки огромных индексов

• Многопоточная производительность и параллелизм

• Ловушки сканера (бесконечный цикл, созданный путем изменения URL, календарей, идентификаторов сеансов ...) и дублированного содержимого.

• Сканирование с нескольких компьютеров

• Неправильные коды HTML

• Постоянные ошибки http с серверов

• Базы данных без сжатия, которые увеличивают ваше пространство примерно в 8 раз.

• Процедуры и приоритеты повторного сканирования.

• Использовать запросы со сжатием (Deflate / gzip) (подходит для любого типа сканера).

И некоторые важные вещи

• Респект robots.txt

• И задержка сканера при каждом запросе, чтобы не задушить веб-серверы.

Оптимальная конфигурация потока будет зависеть от вашего кода. Я запускаю 100 процессов с .net. Я рекомендую вам использовать класс расписания, чтобы избежать ненужных открытых тем.

PS. Если вы используете 5 потоков, вам понадобятся годы, чтобы достичь «крупномасштабного» веб-сканирования.

4 голосов
/ 21 июня 2009

spare_memory_on_machine / memory_footprint_of_crawler_process * 0.95

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...