Контекст
Я запускаю scrapyd 1.1 + scrapy 0.24.6 с одним "паутинным гибридным" пауком, который сканирует по многим доменам в соответствии с параметрами. Машина разработки, на которой размещен экземпляр scrapyd (s?), Представляет собой OSX Yosemite с 4 ядрами, и это моя текущая конфигурация:
[scrapyd]
max_proc_per_cpu = 75
debug = on
Выход при запуске scrapyd:
2015-06-05 13:38:10-0500 [-] Log opened.
2015-06-05 13:38:10-0500 [-] twistd 15.0.0 (/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python 2.7.9) starting up.
2015-06-05 13:38:10-0500 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
2015-06-05 13:38:10-0500 [-] Site starting on 6800
2015-06-05 13:38:10-0500 [-] Starting factory <twisted.web.server.Site instance at 0x104b91f38>
2015-06-05 13:38:10-0500 [Launcher] Scrapyd 1.0.1 started: max_proc=300, runner='scrapyd.runner'
EDIT:
Число ядер:
python -c 'import multiprocessing; print(multiprocessing.cpu_count())'
4
Проблема
Я хотел бы, чтобы установка обрабатывала 300 заданий одновременно для одного паука, но scrapyd обрабатывает от 1 до 4 за раз, независимо от того, сколько заданий ожидает:
EDIT:
Использование ЦП не является ошеломляющим:
ИСПЫТАНИЕ НА UBUNTU
Я также тестировал этот сценарий на виртуальной машине Ubuntu 14.04, результаты более или менее одинаковы: во время выполнения было достигнуто не более 5 заданий, при этом не было подавляющего потребления ЦП, более или менее того же времени для выполнения столько же задач.