You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nutch.apache.org by "Julien Nioche (JIRA)" <ji...@apache.org> on 2014/04/28 10:59:15 UTC

[jira] [Updated] (NUTCH-207) Bandwidth target for fetcher rather than a thread count

     [ 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)