[
https://issues.apache.org/jira/browse/NUTCH-207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julien Nioche updated NUTCH-207:
--------------------------------
Attachment: NUTCH-207.trunk.patch
Patch for trunk. Similar to the original patch but adapted to the existing
version of the code.
Adjusts the number of threads based on the values of the parameters :
* fetcher.bandwidth.target
* fetcher.maxNum.threads
which must both be set. The bandwidth is for a given mapper so if the fetching
is done with more than one mapper per machine you'll have to set the bandwith
accordingly e.g. have 50Mbps connection and 2 mappers per server => set
fetcher.bandwidth.target to 25000000
Ideally we should use more modern ways of handling threads with the
ExecutorService, ThreadPoolExecutors etc... but this can be done in a separate
JIRA.
The parameters will be added do nutch-default.xml with a description of what
they do after this patch has been tested and reviewed.
> Bandwidth target for fetcher rather than a thread count
> -------------------------------------------------------
>
> Key: NUTCH-207
> URL: https://issues.apache.org/jira/browse/NUTCH-207
> Project: Nutch
> Issue Type: New Feature
> Components: fetcher
> Affects Versions: 0.8
> Reporter: Rod Taylor
> Assignee: Julien Nioche
> Fix For: 1.9
>
> Attachments: NUTCH-207.trunk.patch, ratelimit.patch
>
>
> Increases or decreases the number of threads from the starting value
> (fetcher.threads.fetch) up to a maximum (fetcher.threads.maximum) to achieve
> a target bandwidth (fetcher.threads.bandwidth).
> It seems to be able to keep within 10% of the target bandwidth even when
> large numbers of errors are found or when a number of large pages is run
> across.
> To achieve more accurate tracking Nutch should keep track of protocol
> overhead as well as the volume of pages downloaded.
--
This message was sent by Atlassian JIRA
(v6.2#6252)