我正在使用scrapy来并行地从许多不同的域下载页面.我有数十万页要下载,所以性能很重要.
不幸的是,由于我已经描述了scrapy的速度,我每秒只能获得几页.实际上,平均每秒约2页.我以前写过我自己的多线程蜘蛛每秒做数百页 - 我当然认为scrapy使用扭曲等等会产生类似的魔力.
我如何加速scrapy?我非常喜欢这个框架,但这个性能问题对我来说可能是一个交易障碍.
这是settings.py文件的相关部分.我错过了一些重要的设置吗?
LOG_ENABLED = False
CONCURRENT_REQUESTS = 100
CONCURRENT_REQUESTS_PER_IP = 8
Run Code Online (Sandbox Code Playgroud)
一些参数:
我过去遇到过这个问题......而且很大一部分我解决了'脏'旧的棘手问题.
大多数情况下,如果你有高CPU使用率来访问同步远程站点,那是因为scrapy正在尝试解析这些URL.
请记住将主机(/etc/resolv.conf)上的DNS设置更改为LOCAL缓存DNS服务器.
在第一个将是缓慢的,但一旦它开始缓存,它更有效的解决你将看到巨大的改进.
我希望这能帮助你解决问题!
归档时间: |
|
查看次数: |
4608 次 |
最近记录: |