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

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

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 rsyncpara monitorar a velocidade de transferência. No início, a velocidade de IO é de cerca de 200 MB/s, estável para os primeiros 18 GB. Mas então o desempenho cai por um fator de 10 a 20 e nunca recupera a taxa inicial. Às vezes, atinge cerca de 50-100 MB/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 ficam bloqueadas por um longo período (minutos). Além disso, interromper o processo de cópia bloqueia por vários minutos. Uma exclusão subsequente do arquivo parcialmente copiado também leva vários minutos.

Alguma ideia sobre o que poderia estar causando isso?

Responder1

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

Monitorei /proc/meminfo e procurei os campos 'Dirty' (páginas sujas de cache de E/S) e 'Writeback' (páginas sujas gravadas no disco).

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

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

Portanto, os primeiros 18 GB são rápidos, gravados no cache, mas quando a gravação real ocorre, ela fica mais lenta e, durante a gravação, a E/S do disco fica saturada e bloqueada até que todas as páginas sujas sejam enviadas para o disco.

informação relacionada