Por que minha velocidade de cópia de arquivos de rede forma uma onda?

16

Com a atualização para o Windows 10, agora tenho esse belo gráfico ao copiar arquivos.

Quando copio um único arquivo grande, a velocidade sempre recebe essa forma de onda razoavelmente consistente. O que causa isso?

A conexão é

My PC <- cable -> gigabit switch <- cable -> Netgear ReadyNAS

Os arquivos estão sendo copiados via SMB. Esse gráfico mostra uma dessas cópias por cerca de um minuto:

Não há nenhum problema aqui, só quero entender como as coisas funcionam.

    
por Gricey 16.08.2015 / 06:00

3 respostas

6

Resposta curta: cache de gravação

TL; DR: Primeiro, há muito menos sobrecarga ao copiar um único arquivo grande, comparado a muitos arquivos menores. Isso significa que o PC e o NAS não estão "perdendo" muito tempo procurando arquivos, atualizando a tabela de arquivos e os metadados do sistema de arquivos. Isso também significa uma taxa de transferência muito maior, o que provavelmente revelará alguns dos gargalos de largura de banda na configuração.

Os picos e vales no gráfico de largura de banda parecem ocorrer em intervalos regulares, e considerando o fato de que você está copiando um único arquivo grande (largura de banda máxima, sobrecarga mínima), eu diria que você está vendo o efeito de buffering / caching.

Parece-me que você provavelmente está enviando dados para o NAS em um ritmo mais rápido do que é capaz de gravá-lo em disco. Graças a escrever cache / buffers, ele ainda é capaz de recebê-lo a uma taxa mais rápida (os picos do gráfico), mas você não pode continuar recebendo dados sem comprometê-lo com o disco.

Eventualmente, o buffer ficará cheio e terá que ser gravado no disco. Enquanto isso, o NAS não pode receber dados tão rapidamente quanto antes, já que não tem onde armazená-los (o buffer está cheio e os discos são mais lentos). É aqui que você obtém os vales do gráfico.

Parece que o Windows está suavizando o gráfico de taxa de transferência. Com gráficos mais precisos (digamos, do Performance Monitor), você pode estimar o tamanho do buffer de gravação, analisando os intervalos e os bytes transferidos.

A razão pela qual os picos e vales não ocorrem em intervalos perfeitamente uniformes é provavelmente porque PC, NAS ou ambos estão fazendo "alguma outra coisa" enquanto você copia o arquivo.

    
por 20.08.2015 / 23:36
17

É difícil responder com autoridade sem muita investigação. Obrigado por atualizar sua pergunta com a escala de tempo e o protocolo.

Poderia "vieiras" TCP normais. O TCP vai o mais rápido possível até sofrer perda de pacotes. Então recua um pouco e se ergue novamente. Por isso, mantém "batendo a cabeça contra o teto". É assim que maximiza a largura de banda disponível sem piorar o congestionamento. Eu costumo ver as vieiras TCP em um gráfico TCPTrace, o que é um pouco diferente desse gráfico. Eu esperaria que ele parecesse um pouco mais parecido com dente de serra nesse tipo de gráfico, mas pode haver alguma suavização acontecendo neste gráfico. E agora que penso nisso, as vieiras TCP estariam em uma escala de tempo muito menor do que este gráfico parece mostrar.

Também pode ser que o protocolo do sistema de arquivos remotos (SMB) leia o arquivo um pedaço de cada vez, e os mergulhos são onde uma leitura de bloco terminou e a próxima está sendo solicitada.

    
por 16.08.2015 / 06:36
1

Acho que o Microsoft apresentou este recurso na barra de progresso no Windows 8.

Da esquerda para a direita mostra o progresso em porcentagem & O movimento Up-Down mostra a taxa de transferência em MB / s .

As taxas de transferência são determinadas pela velocidade da mídia (BUS ou Rede), número & tamanho dos arquivos, sistema de arquivos & disponibilidade de recursos, etc ...

Além disso, durante uma transferência de arquivos, ocorre muita leitura / gravação de metadados.

Você está vendo uma onda razoavelmente consistente, pois a sobrecarga de leitura / gravação de metadados é reduzida & outros recursos estão sendo usados na mesma proporção. As quedas ocasionais podem ser os eventos de perda de pacotes, próxima leitura de chunk, pesquisa de recursos, etc.

Para mais esclarecimentos, leia mais

por 16.08.2015 / 08:11