связь между fetcher.server.min.delay и fetcher.threads.fetch в Nutch 1.13 - PullRequest
0 голосов
/ 16 января 2019

Я запускаю NUTCH в локальном режиме с конфигурацией сервера 64 ГБ ОЗУ и 32 процессора. Если у меня есть один URL-адрес в начальном списке, и у меня есть конфигурация ниже в nutchsite.xml

fetcher.threads.fetch =16
fetcher.threads.per.queue=2
fetcher.max.crawl.delay=120
fetcher.queue.depth.multiplier=150
fetcher.queue.mode=byHost

сколько запросов будет сделано к URL в фазе выборки, если -topN установлено в 1000 Будет ли для карты Fetcher будет создана задача с несколькими картами? Я понимаю, что задача с одной картой создается независимо от количества URL-адресов, которые необходимо получить из списка выборок. я попытался погуглить связь между fetcher.threads.fetch с fetcher.threads.per.queue, но dint не нашел ничего, что было ясно также добавление логов из сборщика Phase

FetcherThread INFO  fetcher.FetcherThread (277) - fetching 
http://investors.te.com/news-releases/press-release-details/2018/TE- 
Connectivity-announces-fourth-quarter-and-full-year-resu
lts-for-fiscal-year-2018/default.aspx (queue crawl delay=2000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching http://investors.te.com/shareholder-info/default.aspx (queue crawl delay=2000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/news-releases/press-release-details/2019/TE-Connectivity-to-hold-annual-general-meeting-of-shareholders-on-March-13-2019/default.aspx (queue crawl delay=2000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/investor-resources/request-information/default.aspx (queue crawl delay=2000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/investor-resources/email-alerts/default.aspx (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/site-map/default.aspx (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/rss/PressRelease.aspx?LanguageId=1&CategoryWorkflowId=00000000-0000-0000-0000-000000000000&tags= (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/stock-information/quote-and-chart/default.aspx (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/investor-resources/overview/default.aspx (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/investor-resources/investor-contacts/default.aspx (queue crawl delay=10000ms)
FetcherThread INFO  fetcher.FetcherThread (277) - fetching https://investors.te.com/js/mobileRedirect.js (queue crawl delay=10000ms)

1 Ответ

0 голосов
/ 17 января 2019

Будет только один запрос, потому что есть только один URL. Если есть два URL-адреса с одного хоста с fetcher.threads.per.queue=2, то к одному хосту могут быть два одновременных запроса. Большое количество fetcher.threads.fetch имеет смысл, только если у вас есть большое количество хостов, которые нужно сканировать, или вы сканируете свой собственный локальный быстрый и отзывчивый веб-сервер. В последнем случае fetcher.threads.per.queue должно быть равно или близко к fetcher.threads.fetch. Если это не ваш собственный сервер и вам явно не разрешено, вы всегда должны сохранять значение по умолчанию для fetcher.threads.per.queue, которое представляет собой один поток (= 1) без параллельных подключений к одному хосту и гарантированной задержки между последовательными запросами.

...