在 x 个实例上并行执行任务

在 x 个实例上并行执行任务

我需要执行数据集处理任务。这是一个用于预热 memcached 机器的简单 php 脚本。数据集包含键(约 2400 万)

如果我从一台机器执行预热脚本,则需要近 3 天才能完成。但如果我“拆分”并运行 6 个差异进程,则需要一天时间。

如果我知道网络中所有其他机器的 IP 地址并且具有 ssh 访问权限,有没有办法并行执行这项任务?

答案1

看一眼密码集群 ssh,...

  1. 设置 ssh 公钥认证
  2. 创建你的机器的列表:

    ip1:port1 user1
    ip2:port2 user2
    ip3:port3 user3
    
  3. 将脚本分发到所有服务器并并行执行:

    $ pssh -h <host_file> -P /path/to/php/script
    

相关内容