Parallelly executar tarefas em x instâncias

1

Eu preciso executar uma tarefa de processamento de conjunto de dados. É um script php simples para aquecer máquinas do memcached. O conjunto de dados contém as chaves (cerca de 24 milhões)

Se eu fosse executar o script de aquecimento de uma máquina, levaria quase 3 dias para ser concluído. Mas se eu fosse "dividir" e executar o processo de 6 diferenças, isso me levaria um dia.

Se eu souber o endereço IP de todas as outras máquinas na minha rede e tiver acesso ssh, existe uma maneira de paralelizar essa tarefa?

    
por Quintin Par 09.10.2011 / 14:03

1 resposta

3

Dê uma olhada em pssh , cluster ssh , ...

  1. configurando a autenticação de chave pública ssh
  2. criando uma lista de sua máquina:

    ip1:port1 user1
    ip2:port2 user2
    ip3:port3 user3
    
  3. distribuindo seu script para todos os servidores e paralelize:

    $ pssh -h <host_file> -P /path/to/php/script
    
por 09.10.2011 / 14:17

Tags