OptimizingCrawls — NUTCH — Apache Software Foundation
Вот факторы, которые потенциально могут замедлить получение
1) Настройка DNS
2) Слишком много у вас сканеров, слишком мало.
3) Ограничение пропускной способности
4) Количество потоков на хост (вежливость)
5) Неравномерное распределение URL для получения и вежливость.
6) Высокие задержки сканирования из robots.txt (обычно наряду с неравномерным распределением URL-адресов).
7) Много медленных сайтов (опять же обычно с неравномерным распределением).
8) Загрузка большого количества контента (PDFS, очень большие html страницы, опять же возможно неравномерное распределение).
9) Другие
Теперь, как мы их исправим
1) Настройте DNS на каждой локальной машине для сканирования, если несколько машин для сканирования и один централизованный DNS, это может действовать как DOS-атака на DNS-сервер, замедляющий работу вся система.
2) Это количество задач карты * fetcher.threads.fetch. Таким образом, 10 задач карты * 20 потоков = 200 сборщиков одновременно. Слишком много — и вы перегружаете свою систему, слишком мало — и другие факторы, и узлы машины простаивают. Вам нужно будет поиграть с этой настройкой для вашей установки.
3) Ограничения пропускной способности. Используйте ntop, ganglia и другие инструменты мониторинга, чтобы определить, какую полосу пропускания вы используете. Учет входящей и исходящей пропускной способности. Простой тест, с сервера внутри сети выборки, но не сам выборки, если он очень медленно подключается или загружает контент, когда происходит выборка, это хорошая ставка, что вы максимально используете пропускную способность. Если вы установите тайм-аут http, как мы опишем позже, и максимизируете пропускную способность, вы начнете видеть много ошибок тайм-аута http.
4) Вежливость наряду с неравномерным распределением URL-адресов, вероятно, является самым большим ограничивающим фактором. Если один поток обрабатывает один сайт и есть много URL-адресов с этого сайта для получения, все остальные потоки будут простаивать, пока этот поток завершится. Некоторые решения используют fetcher.server.delay, чтобы сократить время между выборками страниц, и используют fetcher.threads.per.host, чтобы увеличить количество потоков, извлекаемых для одного сайта (хотя это все равно будет в той же задаче карты, и, следовательно, тот же процесс JVM ChildTask). Если увеличить это значение> 0, вы также можете установить fetcher.server.min.delay на некоторое значение> 0, чтобы вежливость была минимальной, а максимальная ограничивала процесс.
5) Извлечение большого количества страниц с одного сайта или большого количества страниц с нескольких сайтов значительно замедлит получение. Для полного веб-сканирования вам нужно равномерное распределение, чтобы все потоки выборки могли быть активными.
6) Может использоваться Crawl-delay и соблюдается nutch в robots.txt. Большинство сайтов не используют этот параметр, но некоторые (некоторые вредоносные используют). Я видел задержки сканирования до 2 дней в секундах. Переменная fetcher.max.crawl.delay будет игнорировать страницы с задержкой сканирования > x. Я обычно устанавливаю это значение на 10 секунд, по умолчанию — 30. Даже при 10 секундах, если у вас есть много страниц с сайта, с которого вы можете сканировать только 1 страницу каждые 10 секунд, это будет медленно. С другой стороны, если установить для него низкое значение, эти страницы будут игнорироваться и не будут загружаться.
7) Иногда веб-сайты работают медленно. Установка низкого значения для http.timeout помогает. По умолчанию 10 секунд. Если вам все равно и вы хотите как можно быстрее получить как можно больше страниц, установите его ниже. Некоторые веб-сайты, например digg, ограничивают пропускную способность на своей стороне, разрешая только x подключений в заданный период времени. Так что, даже если у вас всего 50 страниц с одного сайта (я все еще думаю, что для многих). Это может быть ожидание 10 секунд на каждой странице. ftp.timeout также может быть установлен при получении содержимого ftp. 8) Много контента означает медленную загрузку. Это особенно верно при загрузке PDF-файлов и других документов, отличных от HTML. Чтобы избежать содержимого, отличного от HTML, вы можете использовать фильтры URL. Я предпочитаю фильтры префикса и суффикса. С помощью http.content.limit и ftp.content.limit можно ограничить количество загружаемого контента для одного документа.
9) Другие факторы, которые могут вызывать медленную загрузку:
- Максимальное количество открытых сокетов/файлов на машине. Вы начнете видеть ошибки ввода-вывода или не сможете открыть ошибки сокета.
- Неправильная маршрутизация. Плохие маршрутизаторы или домашние маршрутизаторы могут не справиться с количеством одновременных подключений. Неправильная настройка маршрутизации также может вызывать проблемы, но обычно их гораздо сложнее диагностировать. Используйте инструменты сетевой трассировки и сопоставления, если вы считаете, что это происходит. Восходящая маршрутизация также может быть проблемой со стороны вашего сетевого провайдера.
- Неисправные сетевые карты. Я видел, как сетевые карты переворачивались, как только они достигали определенной точки пропускной способности. В то время это было более распространено на более новых гигабитных картах. Обычно не моя первая мысль, но всегда возможность. Используйте tcpdump и инструменты сетевого мониторинга на едином интерфейсе.
Вот примерно так, с моей точки зрения. Не стесняйтесь добавлять что-нибудь, если кто-то еще думает о других вещах.
Все о файле Robots.txt
Те, кто создает веб-сайты, используют так называемые файлы robots.txt, чтобы сообщать веб-роботам, таким как роботы поисковых систем, как сканировать определенные страницы на их веб-сайтах. REP — это набор правил, которые определяют, как роботы могут или не могут сканировать Интернет и обрабатывать контент, с которым они сталкиваются. Файл robots.txt является его частью и указывает, могут ли определенные поисковые роботы сканировать различные части веб-сайта, разрешая (или не разрешая) поведение определенных пользовательских агентов.
Очень важно знать robots.txt, потому что он может действительно помочь или навредить вашему сайту. Читайте дальше, чтобы получить хорошее представление о том, что нужно сделать, чтобы максимально использовать возможности вашего сайта.
Важен ли файл robots.txt?
Если вы неправильно используете robots.txt, это может серьезно повредить вашему рейтингу, потому что этот файл контролирует то, как роботы поисковых систем видят и взаимодействуют с вашими веб-страницами. Боты читают ваш файл robots.txt (если он у вас есть), и это говорит им, должны ли они сканировать ваш сайт, и если да, то в каком объеме и когда.
Самое первое, на что обращают внимание боты Google, — это файл robots.txt сайта. Он делает это для того, чтобы увидеть, есть ли у него разрешение на обход. Ваш файл robots.txt представляет собой набор инструкций для ботов, и если вы знаете, что делаете, вы можете заставить его говорить все, что захотите. Вы даже можете настроить задержку, чтобы боты сканировали, но через период времени, который вы указываете в файле robots.txt.
Как узнать, есть ли у вас файл robots.txt
Есть способы узнать, есть ли у вас уже файл robots.txt. Наиболее распространенным является ввод URL-адреса вашего корневого домена, а затем добавление /robots.txt в конце. Например, если ваш сайт www.fansofthegrimreaper.com, введите www.fansofthegrimreaper.com/robots.txt. Если страницы в формате .txt нет, значит, в настоящее время у вас нет запущенного и работающего файла robots.txt.
Это может быть хорошо или плохо в зависимости от того, что вы хотите сделать со своим сайтом. Если у вас есть плитка robots. txt, вы должны убедиться, что она не повредит вашему рейтингу, блокируя контент, который вы не хотите блокировать.
Причины иметь файл robots.txt
Хотя вам не обязательно иметь файл robots.txt, в некоторых случаях полезно иметь его в рабочем состоянии. Если у вас есть контент, который вы хотите заблокировать от определенных поисковых систем, или если вы хотите точно настроить доступ от авторитетных роботов, необходимо, чтобы файл robots.txt работал. Или, возможно, ваш сайт работает, но вы все еще работаете над его редактированием, поэтому пока не хотите появляться в поисковых системах.
Вы можете настроить файл robots.txt, чтобы он соответствовал всем вашим критериям. Большинство веб-мастеров имеют возможности и разрешения для создания, настройки и успешного использования файла robots.txt.
Когда не нужно иметь файл robots.txt
Если ваш веб-сайт относительно прост, не содержит ошибок и не содержит файлов, которые вы хотите заблокировать от поисковых систем, вам не нужен файл robots. txt . Даже если у вас нет файла robots.txt, роботы поисковых систем все равно смогут иметь полный доступ к вашему сайту, поэтому нет причин беспокоиться о том, что они не смогут вас найти. На самом деле, они могут найти вас гораздо проще, чем если бы у вас был файл robots.txt, особенно если он плохо настроен или содержит ошибки.
Если вы хотите, чтобы все и каждый, чем больше, тем веселее находили ваш сайт и видели все на нем, лучше всего вообще не иметь файла robots.txt. В этом нет ничего плохого, и это широко распространенная практика. Не думайте, что вы упускаете какой-то ключевой инструмент для ранжирования в поисковых системах. На самом деле, не имея файла robots.txt, вы можете получить более высокий рейтинг, чем в противном случае.
Как создать файл robots.txt
Если вы умеете копировать и вставлять, вы также можете создать файл robots.txt. Это очень просто и не требует навыков программирования. Достаточно Microsoft Word или Блокнота. Нет необходимости использовать редактор кода. Это было бы перебором. Существует множество сайтов с инструкциями по настройке файла robots.txt.
Просто найдите пример того, что вам нужно, а затем скопируйте и вставьте текст в свой собственный файл. Не бойтесь, потому что проверить и увидеть, правильно ли настроен ваш файл, так же легко, как и сделать или исправить его. Существует множество онлайн-инструментов, которые помогут вам бесплатно.
Что должен сказать файл robots.txt?
Файл robots.txt выполняет три основных функции: разрешает, запрещает или частично разрешает сканирование вашего сайта. Если вы хотите, чтобы весь ваш сайт сканировался, у вас есть три варианта. Во-первых, у вас не может быть файла robots.txt, то есть его вообще не существует на вашем сайте. Когда бот начинает сканировать, он сразу же ищет файл robots.txt. Если он не найдет его, он будет посещать весь контент на всех ваших страницах, потому что ничто не говорит ему не делать этого.
Вы также можете создать пустой файл robots. txt. Это послужит той же цели, что и его отсутствие. Когда бот придет в гости, ему будет нечего читать и он снова будет ползать по всему вашему материалу. Если вы не хотите, чтобы какой-либо ваш контент сканировался ботами, вы должны настроить файл robots.txt с полным запретом. Однако будьте осторожны, потому что это будет означать, что Google и все другие поисковые системы не будут индексировать или когда-либо отображать ваш сайт. Этот метод не рекомендуется.
Почему вы должны использовать файл Robots.txt
Если вы потратили время, силы и деньги на создание веб-сайта, есть вероятность, что вы хотите, чтобы люди посмотрели на него и смогли найти его, если они еще не знают это существует. Сканеры — ваш лучший выбор, когда вы пытаетесь подняться в рейтинге поисковых систем. Иногда вы можете не хотеть, чтобы ваш сайт был пронизан ботами, по крайней мере, сразу.
Например, если у вас есть страница, которая все еще является черновиком. Или задержка сканирования может пригодиться, чтобы ваш сервер не был перегружен из-за слишком большого трафика. Вы также можете не захотеть, чтобы ваша внутренняя страница поисковой системы отображалась где-либо еще, потому что это не будет иметь смысла вне контекста.
Как проверить файл robots.txt
Если вы настроили файл robots.txt для запрета или частичного запрета, рекомендуется проверить и убедиться, что он работает. Для этого есть несколько бесплатных инструментов. Они могут сказать вам, блокируются ли важные для Google файлы, а также показать вам, что говорит ваш файл robots.txt.
Вызов всех ботов
Файл robots.txt очень похож на набор направлений для ботов, посещающих ваш сайт. Вы можете оставить конкретные инструкции для определенных ботов или использовать «подстановочный знак», если хотите использовать один и тот же набор инструкций для всех ботов. Googlebot и bingbot — два примера ботов, которые потенциально могут посетить ваш сайт. Вообще говоря, это хорошо, когда боты посещают ваш сайт, при условии, что у вас нет никакой информации или графики, которые вы не хотите индексировать.
Если это так, подумайте еще раз о размещении личного контента на веб-сайте для начала. Если у вас есть фотография, которую вы не хотите, чтобы кто-либо видел, ее не должно быть в Интернете. Однако, если вы профессиональный фотограф, желающий продавать отпечатки своих работ, вам нужно быть осторожным, чтобы ваши изображения не могли быть украдены.
Хотя вы можете захотеть, чтобы боты могли найти ваш сайт, потому что вы хотите найти новых клиентов, вы можете не хотеть, чтобы реальная картинка, которую вы пытаетесь продать, отображалась в результатах поиска. Если вы это сделаете, убедитесь, что он защищен авторским правом или имеет водяной знак, чтобы его нельзя было легко загрузить или иным образом украсть. Если у вас есть изображение, которое, по вашему мнению, не имеет отношения к вашему сайту, вы можете захотеть частично запретить его использование в файле robots.txt.
Что такое задержка сканирования и на что обратить внимание
Иногда боты могут начать сканировать раньше, чем вы этого захотите, и это, мягко говоря, нежелательно. Yahoo, Yandex и Bing — несколько примеров ботов, которые часто появляются очень быстро. Вы можете держать их в страхе, применив Crawl-delay: 10 к вашему блоку в файле robots.txt. Это заставит их ждать десять секунд перед сканированием и повторным входом на ваш сайт. Это поможет, если ваш сайт перегружен трафиком.
Этот метод также полезен, если вы редактируете действующий веб-сайт, чтобы посетители случайно не наткнулись на незавершенную работу. Это может привести к тому, что они подумают, что сайт некачественный, и никогда не вернутся. Если вы задержите поисковые роботы, это уменьшит риск этого.
Вещи, которые вы не хотите сканировать
В некоторых случаях вы не хотите, чтобы определенный контент на вашем сайте сканировался ботами. Это могут быть личные фотографии, которые вы сделали, или информация, которую вы не хотите обнародовать. Или, возможно, у вас есть внутренняя панель поиска, которая выполняет поиск только на вашем сайте.
Это здорово, но вы не хотите, чтобы Google отображал страницу, на которой могли появиться результаты чьего-то поискового запроса. Это может быть бесполезно или, что еще хуже, сбить с толку потенциального нового посетителя вашего сайта, который не будет тратить время на поиск нужной информации.
Чего следует избегать в отношении файлов robots.txt
Иногда задержки сканирования могут быть полезны, но вы должны быть осторожны, поскольку они могут очень легко принести больше вреда, чем пользы. Это может быть особенно вредно, если у вас большой веб-сайт с большим количеством страниц. Вам также следует избегать блокировки ботов, чтобы они не могли сканировать весь ваш сайт, потому что тогда вы никогда не будете отображаться в результатах поиска.
Если вы не делаете для себя какой-то альбом для вырезок или вы не очень закрытый человек, который по какой-то причине все еще хочет быть в Интернете, жизненно важно, чтобы вы появлялись в результатах поиска. На самом деле, многие люди тратят много времени и денег, пытаясь улучшить свой рейтинг. Запрещая сканеры на вашем сайте, вы можете, так сказать, выстрелить себе в ногу.