我有一個完全專用於基於Storm-Crawler的履帶的節點。我有20個雙核CPU,130 Gb的RAM和10Gb/s以太網連接。調整Storm-Crawler以充分利用可用資源
我將我的拓撲縮小爲:CollapsingSpout - > URLPartitionerBolt - > FetcherBolt。噴口正在從Elasticsearch索引(大約50 M記錄)讀取。 Elasticsearch配置有30 GB RAM和2個碎片。
我使用一個單獨的工作人員,大約50 GB專用於JVM的RAM。 使用不同的設置(總線程數,每個隊列的線程數量,最大待定噴口,一些與Elasticsearch相關的部分,如桶數和桶大小主要)我可以達到100 MB/s的總體獲取速度。然而,看看神經節報告,它只對應我可用帶寬的10%。請注意,CPU使用率約爲20%,RAM不是問題。
我在尋求一些關於如何調整/調整我的抓取工具以充分利用可用資源的瓶頸和建議的提示。
在此先感謝。
艾蒂安
嗨艾蒂安。你有多少個網站在爬行?見http://stormcrawler.net/faq/#howfast –
嗨Julien。我不知道我要爬行多少個網站。我正在使用源自先前遞歸爬網的50 M個URL。而對於調整我已經刪除了所有的睡眠時間。經過一些測試後,我可以達到200 MB/s的網絡使用率,但總體而言,我仍然只使用機器資源的20%。 – EJO