老师:关于boolmfilter的问题

来源:10-9 集成bloomfilter到scrapy-redis中

慕粉1724417796

2017-05-16

boolmfilter一定要先设置占用内存大小吗?我还没爬数据就占用4个G,我调了capacity=100000000, error_rate=0.0000001这两个参数,才把占用降低了,能不能不设置内存块?

写回答

3回答

慕粉1724417796

提问者

2017-05-20

老师:可是降低capacity的话,url去重的数量也降低了啊

0
1
bobby
亲 capacity 数量会影响到最少hash的次数以及内存的预分配数量以及大小, 这两者之间一般都会有一个互相影响, 内存小出错率会高一些, 内存大出错率会低一些, 两者很难兼顾, 只有自己去取一个中间值, 因为一定的错误率是可以容忍的, 不同的爬虫系统容忍度是不一样的, 你可以根据自己的需求去调节大小就行了
2017-05-21
共1条回复

慕粉1724417796

提问者

2017-05-19

老师你意思是通过降低error_rate?

0
1
bobby
不是, 你可以将capacity设置小一点, 来降低内存使用
2017-05-19
共1条回复

bobby

2017-05-17

亲, bloomfilter的原理是通过bit为来判断的, 所以需要连续的内存块, 连续的内存块就需要预分配,所以需要指明大小, 不过一般200m左右就可以满足上亿的url爬取, 所以你可以设置小一点就行了

0
0

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5795 学习 · 6290 问题

查看课程