Cópia de arquivo grande do NFS para queda de desempenho do disco local

0

Estou tentando copiar um arquivo de 200 GB de uma montagem NFS para um disco local. O disco local é um sistema de arquivos XFS em um LVM sobre um sistema RAID 5 (controlador RAID de hardware).

Estou usando rsync para monitorar a velocidade de transferência. No início, a velocidade de IO é de cerca de 200MB / s, estável para os primeiros 18GB. Mas então o desempenho cai por um fator de 10-20 e nunca se recupera para a taxa inicial. Às vezes, chega a cerca de 50-100MB / s, mas apenas por alguns segundos, e então o processo parece travar um pouco.

Ao mesmo tempo, todas as operações file-stat no sistema de arquivos de destino estão bloqueando por um longo tempo (minutos). Além disso, interromper o processo de cópia bloqueia por vários minutos. Uma exclusão subseqüente do arquivo parcialmente copiado também leva vários minutos.

Alguma idéia do que poderia estar causando isso?

    
por Bernhard 05.06.2012 / 22:50

1 resposta

0

Graças ao comentário do jet, examinei o cache do disco IO no Linux. Acontece que, como o sistema tem muita memória RAM (48GB) que é quase gratuita, muito é usado para o cache de E / S.

Eu monitorei / proc / meminfo e procurei os campos 'Dirty' (páginas de cache I / O sujas) e 'Writeback' (páginas gravadas no disco).

watch -n1 -- "grep -E Dirty|Writeback /proc/meminfo"

Mostra que Dirty aumenta para cerca de 18GB, que desce novamente, enquanto Writeback aumenta, uma vez que as páginas sujas foram escritas, cresce novamente, etc. Monitorando o disco io usando iostat se vê que durante o cache o disco não grava , somente enquanto 'Writeback' diminui os dados é gravado no disco. A velocidade de gravação é de cerca de 15MB / s.

Assim, os primeiros 18GB são rápidos, gravados no cache, mas quando a gravação real ocorre, ele fica lento e enquanto a gravação de E / S do disco está saturada e bloqueada até que todas as páginas sujas sejam enviadas para o disco.

    
por 06.06.2012 / 17:52