Cópia de arquivo, em série ou paralelo?

1

Eu tenho que copiar manualmente vários arquivos e fazer backup de muitos dados. É de um laptop HP, 7200rpm disco rígido SATA (sem invasão), o Windows 8.1 para um disco rígido externo USB 3.0 7200rpm. Ambos possuem um sistema de arquivos NTFS. Os arquivos têm vários tamanhos.

Minha pergunta, é mais rápido copiá-los em paralelo ou em série?

Do ponto de vista do meu desenvolvedor, seria mais rápido em série, pois evito o reposicionamento extra e alguma sobrecarga. Mas como não estou daquele lado da TI, gostaria de ter sua opinião sobre isso. O que é para você a melhor abordagem, série ou cópia paralela?

    
por Emmanuel Istace 13.04.2014 / 06:09

2 respostas

2

Você deseja copiar os arquivos um por um, mas com toda a E / S concluída de forma assíncrona .

Isso significa que o aplicativo emitirá várias solicitações de leitura de uma só vez, e o sistema operacional as concluirá da maneira que puder e indicará ao aplicativo que o bloco está pronto. Em seguida, o aplicativo emitirá uma solicitação de gravação e, novamente, o sistema operacional o concluirá em seu próprio agendamento e notificará o aplicativo quando ele for concluído. Na prática, isso significa que o aplicativo terá várias solicitações de leitura pendentes e várias solicitações de gravação pendentes a qualquer momento.

Em segundo lugar, o que importa é o tamanho das solicitações de leitura / gravação. Versões recentes do Windows (começando com o Vista) é mais rápido ler dados em blocos menores e é mais rápido escrevê-los em blocos maiores. Por outro lado, a leitura de um local de rede é mais rápida com blocos maiores.

É assim que o Windows possui robocopy funciona e é muito bom.

-

Como bônus - ao copiar muitos e muitos arquivos pequenos, o processo de cópia acaba gastando um tempo desproporcionalmente longo abrindo e fechando arquivos. Então, o que você quer é um aplicativo que olhe à frente da sua fila de cópia e pré-abra os arquivos com antecedência. Isso realmente chuta a cópia para outro nível em termos de velocidade.

    
por 13.04.2014 / 19:45
1

Para o cenário de backup de unidade única para unidade única que você está falando aqui, sua velocidade máxima será a velocidade com que você pode extrair dados da unidade de origem. Se esses dados estiverem bem fragmentados, não haverá diferença entre a recuperação paralela ou serial. Se esses dados forem amplamente contíguos nos próprios arquivos, haverá alguma diferença entre os backups de estilo paralelo e sequencial.

Para esse caso ...

Se você está procurando pelo máximo velocidade de backup paralela, provavelmente fará o trabalho mais rápido.
Se você está procurando pelo máximo velocidade de restauração sequencial, será a melhor aposta.

    
por 13.04.2014 / 16:04