pyspider的分布式运行成功,2台slave跑,但是时间并没有缩短问题?

发布于 2022-09-05 03:15:26 字数 1852 浏览 13 评论 0

1 台 master,2 台 slave,虚拟机 ubuntu 下,配置如下:

master 的 config.json

{
  "taskdb": "mysql+taskdb://pyspider:pyspider-pass@192.168.209.128:3306/taskdb",
  "projectdb": "mysql+projectdb://pyspider:pyspider-pass@192.168.209.128:3306/projectdb",
  "resultdb": "mysql+resultdb://pyspider:pyspider-pass@192.168.209.128:3306/resultdb",
  "message_queue": "redis://192.168.209.128:6379/db",
  "phantomjs-proxy": "192.168.209.128:25555",
  "scheduler":{
     "xmlrpc-host":"0.0.0.0",
     "delete-time":10},
  "webui": {
    "port": 5555,
    "username": "",
    "password": "",
    "need-auth": false}
}

在主机上运行

/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json schedule
/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:

{
  "taskdb": "mysql+taskdb://pyspider:pyspider-pass@192.168.209.128:3306/taskdb",
  "projectdb": "mysql+projectdb://pyspider:pyspider-pass@192.168.209.128:3306/projectdb",
  "resultdb": "mysql+resultdb://pyspider:pyspider-pass@192.168.209.128:3306/resultdb",
  "message_queue": "redis://192.168.209.128:6379/db",
  "phantomjs-proxy": "192.168.209.128:25555",
  "fetcher":{"xmlrpc-host":"192.168.209.128"}
}

在两个从机上运行

/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json fetcher
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json processor
/usr/local/bin/pyspider -c /home/pu/pyspider/conf.json result_worker

三个终端

我是先命令行运行的,还没有用 Supervisor 来管理进程,想先分布式调试成功后再用这个管理进程,命令行只是多开几个终端而已。但是很奇怪,爬虫程序能很顺利的运行,但是单机跑和3台机子一起跑时间是一样的,就差几秒钟而已,求解?

我看了终端输出的信息,是 2 台 slave 的提取的 url 是不重复的,但是时间分开的有间隔的,比如说 slave1 运行 4 秒钟,然后 slave2 运行 3 秒钟,并不是并行的而是有顺序,好奇怪!难道是 schedule 那里是一个一个拿取任务,不能同时拿的吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吻安 2022-09-12 03:15:26

在控制台里控制速度。不管你是不是分布式,只要速度设置的一样,那么用的时间就一样。只有在硬件资源不够用时(或是说硬件有瓶颈达不到你设置的速度时)分布式才会提现出跑的快。个人这么理解

舞袖。长 2022-09-12 03:15:26

在webui把速度(rate)加上去

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文