Eu tenho dois computadores em uma LAN. O primeiro computador com velocidade de 128Mbs e um segundo computador com velocidade de conexão à Internet é de 256Mbs. Tentei baixar um arquivo de 250 MB. Se o primeiro computador baixar cerca de 48.000 segundos e o segundo computador, você acha que leva cerca de 24.000 segundos. Existe uma maneira de o primeiro computador baixar uma parte do arquivo e o segundo computador baixar outra parte?
Responder1
Se você tiver dois computadores, cada um com sua própria conexão independente com a Internet (ou seja, duas conexões ISP) e não uma conexão compartilhada, então, em teoria, usando algo como servidores FTP que suportam a retomada de downloads interrompidos, cada computador poderia baixar simultaneamente metade de o arquivo.
No entanto, não conheço nenhum software que faça isso (embora talvez wget ou curl possam ser feitos para executar a busca de deslocamento apropriada)
Se o gargalo for o servidor FTP (ou servidor de protocolo equivalente), ter duas conexões não ajudará.
Atualização: o tipo de coisa que eu tinha em mente era
Computador 1
dd if=/dev/zero bs=10000 count=5 > name-of-big.file
wget -continue http://www.example.com/name-of-big.file
Computador 2 (simultaneamente através de conexão separada com a Internet)
wget http://www.example.com/name-of-big.file
Pare com isso quando atingir o tamanho do pedaço ignorado no Computador 1. Eu pensei que você poderia fazer com que o wget parasse canalizando a saída para uma instrução dd que quebra o canal, mas isso não funciona
wget -O - $URL | dd bs=10000 count=5
O Wget para quando dd quebra o canal, mas o arquivo resultante não tem o tamanho certo. Então, talvez apenas deixe-o funcionar, pare-o manualmente e corte a parte que você precisa (por exemplo, usando dd)
Finalmente você pode cortar a parte diferente de zero do arquivo no computador 1 (por exemplo, usando dd), copiar para o computador 2 e juntar as peças.
Isso me parece confuso, prefiro encontrar ou escrever um cliente HTTP distribuído :-)
Responder2
Esta solução pressupõe que os dois computadores estejam conectados em rede em uma LAN:
- Para começar, execute umprocuradorem um dos computadores, qualquer proxy HTTP serviria.
- PegarTransporte líquidoa
Download Manager
que suportaMultiple Proxies mode
e instala o mesmo no outro computador.O "modo Múltiplos Proxies" permite atribuir a cada thread de trabalho um proxy diferente para quebrar certas restrições do site, como apenas uma conexão por IP.
- Portanto, para cada arquivo baixado no
Net Transport
computador, adicione o proxy no primeiro computador como um thread de download separado. - O download agora utilizará a largura de banda da conexão de Internet de ambos os computadores, simultaneamente.
EDITADO:
Como você pode ver no painel inferior direito 'Logs' da captura de tela, each
o download pode ser feito concurrently in multiple threads
(conexões separadas com o servidor de download). Esta ferramenta permite especificar se cada thread usará ou não um proxy. Assim, você pode definir alguns threads para usar a largura de banda no computador proxy.
Responder3
O termo para o que você está tentando fazer é chamado de "Conexões de ligação". Existem algumas empresas, como a Mushroom Networks, que criam roteadores com múltiplas portas WAN que balanceiam automaticamente a carga das conexões. Uma opção mais barata seria conectar ambas as conexões em uma máquina e executar seu próprio software de proxy/balanceamento de carga para sua rede.