症状:系统非常慢,与期望的相差很大,并且当你修改CONCURRENT_REQUESTS
的值的时候,速度并没有发生变化。下载器看起来几乎是空的(比CONCURRENT_REQUESTS
的值要小),scraper中只有少量一些Response
对象。
示例:你可以使用这两个设置项(爬虫代码见这里):SPEED_SPIDER_BLOCKING_DELAY
和SPEED_PIPELINE_BLOCKING_DELAY
来使得对于每个响应都会有一个100ms的阻塞延迟。我们希望对于100个URL花费2-3s来完成,然而不管如何设置CONCURRENT_REQUESTS
的值,结果都是花费了13s左右。
for concurrent in 16 32 64; do
time scrapy crawl speed -s SPEED_TOTAL_ITEMS=100<