가상 머신 우분투에서 마스터 1개, 슬레이브 2개, 구성은 다음과 같습니다.
master 的 config.json
:
호스트에서 실행
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json 일정
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json webui
/usr/local/ bin/pyspider -c /home/pu/pyspider/conf.json phantomjs
slave 的 config.json
:
두 명의 노예로 달려가세요
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json 가져오기
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json 프로세서
/usr/local/ bin/pyspider -c /home/pu/pyspider/conf.json result_worker
3개의 터미널
먼저 명령줄에서 실행했습니다. 아직 Supervisor를 사용하여 프로세스를 관리하지 않았습니다. 성공적인 분산 디버깅 후에 이 관리 프로세스를 사용하고 싶습니다. 그런데 이상하게 크롤러 프로그램은 원활하게 실행될 수 있지만 단일 머신에서 실행하는 데 걸리는 시간은 세 머신을 함께 실행할 때와 같습니다. 단지 몇 초만 다를 뿐입니다.
터미널에서 출력되는 정보를 살펴보니 두 슬레이브가 추출한 URL이 반복되지 않고 간격으로 구분되어 있다는 것입니다. 예를 들어, 슬레이브1이 4초 동안 실행되고, 슬레이브2가 3초 동안 실행됩니다. 그것들은 평행하지 않습니다. 순서가 있는데 너무 이상해요! 일정에 따라 작업이 하나씩 수행되고 동시에 수행할 수는 없습니까?
콘솔에서 속도를 제어하세요. 분산 여부에 관계없이 속도를 동일하게 설정하면 동일한 시간이 소요됩니다. 하드웨어 리소스가 부족한 경우(또는 하드웨어에 병목 현상이 있어 설정한 속도에 도달할 수 없는 경우)에만 분산 시스템이 더 빠르게 실행됩니까? 개인적으로는 이해합니다