В каких случаях веб-сканер может быть ограничен ЦП, а не ограничен вводом-выводом? - PullRequest
0 голосов
/ 21 мая 2011

Кажется, что типичные сканеры просто загружают небольшое количество страниц или выполняют очень мало обработки, чтобы решить, какие страницы для загрузки ограничены IO.

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

Например, приложение может рассчитать некоторые вероятности на основе ссылок, найденных на странице, чтобы решить, какую страницу сканировать дальше. Эта функция занимает O(noOfLinks) и оценивается N раз (на каждом шаге) ... где N - это количество страниц, которые я хочу загрузить за один раунд сканирования. Я должен отсортировать и отслеживать эти вероятности и я должен следить за списком O(N), который в конечном итоге будет сброшен на диск и индекс поисковой системы. Разве не возможно (если предположить одну машину), что N становится достаточно большим и что хранение страниц и манипулирование ссылками становится достаточно дорогим, чтобы конкурировать с ответом ввода-вывода?

Ответы [ 4 ]

2 голосов
/ 21 мая 2011

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

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

1 голос
/ 21 мая 2011

Если страница содержит изображения, и вы пытаетесь распознать лица на изображениях (т.е. сформировать карту страниц, на которой есть изображения каждого человека). Это может быть связано с процессором из-за обработки.

0 голосов
/ 21 мая 2011

Если вы используете tomcat для поиска "Crawler Session Manager Valve"

0 голосов
/ 21 мая 2011

Не совсем. Для загрузки этих дополнительных ссылок требуется ввод-вывод, и вы снова возвращаетесь к ограничению ввода-вывода.

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