% CPU deve ser baixo durante uma cópia. A CPU diz ao controlador de disco "pegue os dados dos setores X-Y no buffer de memória em Z". Então vai e faz outra coisa (ou dorme, se não houver mais nada). O hardware aciona uma interrupção quando os dados estão na memória. Em seguida, a CPU precisa copiá-lo algumas vezes e informa à placa de rede "transmitir pacotes nos locais de memória A, B e C". Então volta a fazer outra coisa.
Você está empurrando ~ 240mbps. Em uma LAN gigabit, você deve ser capaz de fazer pelo menos 800mbps, mas:
- É compartilhado entre todos que usam o servidor de arquivos (e possivelmente uma conexão entre switches, etc.)
- Isso é limitado pela velocidade com que o servidor de arquivos pode manipular a gravação, tendo em mente que a largura de banda de E / S do disco é compartilhada por todos que a usam.
- Você não especificou como está acessando o servidor de arquivos (NFS, CIFS (Samba), AFS etc.). Você pode precisar ajustar sua montagem de rede, mas em qualquer coisa que seja meio recente, os padrões geralmente são bastante sensatos.
Para rastrear o gargalo, iostat -kx 10
será um comando útil. Ele mostrará a utilização em seus discos rígidos locais. Se você puder executá-lo no servidor de arquivos, ele informará o nível de ocupação do servidor de arquivos.
A solução geral será acelerar esse gargalo, o que obviamente você não tem orçamento para. Porém, há alguns casos especiais em que você pode encontrar uma abordagem mais rápida:
- Se os arquivos forem compactáveis e você tiver uma CPU rápida, fazer uma compactação mínima on-the-fly poderá ser mais rápido. Algo como
lzop
ou talvezgzip --fastest
. - Se você está apenas alterando alguns bits aqui e ali e enviando o arquivo de volta, somente o envio de deltas será muito mais rápido. Infelizmente,
rsync
não ajuda muito aqui, pois será necessário ler o arquivo em ambos os lados para encontrar o delta. Em vez disso, você precisa de algo que acompanhe o delta à medida que altera o arquivo ... A maioria das abordagens aqui é específica do aplicativo. Mas é possível que você possa manipular algo, por exemplo, mapeador de dispositivos (veja o novo alvo da era dm ) ou btrfs. - Se você estiver copiando os mesmos dados para máquinas múltiplas , poderá usar algo como o udpcast para enviá-los para todas as máquinas de uma só vez.
E, desde que você note que não é o sysadmin, acredito que isso significa que você tem um administrador de sistema. Ou pelo menos alguém responsável pelo servidor de arquivos & rede. Você provavelmente deve perguntar a ele / ela / eles, eles devem estar muito mais familiarizados com as especificidades da sua configuração. Seu (s) administrador (s) deve (m) pelo menos ser capaz de dizer qual taxa de transferência você pode razoavelmente esperar.