我有一个完全专用于基于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