小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

提高Nutch局域網(wǎng)抓取的速度

 昵稱12225631 2013-05-05

提高Nutch局域網(wǎng)抓取的速度

如果想要提高Nutch局域網(wǎng)抓取的速度,大家第一個(gè)想到肯定是-threads .但是那是錯(cuò)誤的,如果只是單單增大線程數(shù),那根本于事無補(bǔ)。

通過下面這組測試,我們看看-threads 是否起作用。首先在本地apache2下建立兩個(gè)網(wǎng)站,寫一個(gè)簡單的Rakefile來幫助完成測試。設(shè)定depth=3,下面是Rakefile的內(nèi)容:

threads=1depth=3task:default => [:crawl]task:crawl => [:clean] do t=Time.now sh "bin/nutch crawl myurl -dir crawl -depth #{depth} -threads #{threads}" puts Time.now-tendtask:clean do sh "rm -rf crawl"end

threads的值分別為1,5,10 結(jié)果如下表:

線程數(shù) 時(shí)間 1 891.001462 5 889.560529 10 878.812949

從上面表格可以看出,這根本一點(diǎn)作用都沒有。第一種提高速度的方法就是減少抓取之間的延遲時(shí)間,我們可以通過修改conf/nutch-default.xml中fetcher.server.delay 來減少延遲時(shí)間。

fetcher.server.delay
抓取器在同一服務(wù)器的逐次請求所延遲的秒數(shù)

我們試試減小它的值為1.0(原先的值為5.0)。經(jīng)過測試,結(jié)果如下:

線程數(shù) 時(shí)間 1 482.807096 5 488.666853 10 486.67904

顯然速度提高了,但是線程數(shù)還是起沒有作用,原因就在于conf/nutch-default.xml中fetcher.threads.per.host 配置為1。那么第二種方法就是同一時(shí)刻允許多個(gè)線程訪問同一主機(jī)。

fetcher.threads.per.host
這個(gè)值允許同一時(shí)刻訪問一臺(tái)主機(jī)的最大線程數(shù)

如果這個(gè)配置為1,同一時(shí)刻只允許一個(gè)線程,啟動(dòng)多少的線程都沒用。下面我們增大這個(gè)配置為5,測試結(jié)果如下:

線程數(shù) 時(shí)間 1 484.754918 5 384.201041 10 332.934009

很明顯隨著線程數(shù)的增大,抓取速度也在增大。如果還想再提高速度的話,可以減小抓取之間的延遲時(shí)間。不過不是修改fetcher.server.delay ,而是修改fetcher.server.min.delay 。這個(gè)配置是設(shè)定抓取器在同一服務(wù)器的逐次請求所延遲最小的秒數(shù),這個(gè)值僅當(dāng)fetcher.threads.per.host 屬性值比1大時(shí)適用

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多