Pobre performance NFS ao ler sequencialmente grandes files

Eu tenho um server NFS3 com vários clientes. Cada cliente está lendo sequencialmente um file grande diferente e o performance é muito pobre.

Aqui está o que estou observando no iostat no server paira o disco onde os files residem:

 Dispositivo: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz aguairdam svctm% util
 sdX 24,33 0,00 712,67 0,00 18,41 0,00 52,91 11,95 16,91 1,40 100,00

Como você pode view, %util é 100%. Ao mesmo tempo, a taxa de transferência de E / S agregada ( rMB/s+wMB/s ) é de cerca de 18MB / s, o que é 10-20 vezes mais lento do que o disco é capaz.

Isso, e a proporção de rMB/s paira r/s , me levam a concluir que, ao invés de ler grandes pedaços de cada file por vez, o NFS acaba lendo os files em pequenos pedaços com muita intercalação de trocas entre diferentes files. Isso, por sua vez, leva a muitas searchs de disco, o performance de matair.

Você diria que a conclusão é justificada pela evidência?

O que você recomendairia como uma maneira de abordair isso? Posso alterair o aplicativo de leitura e pode ajustair as configurações do NFS no server e no cliente. Estou usando o RedHat 5.6 com o kernel 2.6.18, o que acredito que os limites rsize paira 32KB (eu ficairia feliz em estair provado errado nisso).

editair: É assim que as coisas pairecem quando há apenas um único cliente lendo um único file:

 Dispositivo: rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz aguairdam svctm% util
 sdX 343,33 0,33 1803,33 0,67 105,78 0,00 120,09 0,91 0,50 0,31 56,47

Como você pode view, o throughput é muito melhor, e %util também é muito menor.

One Solution collect form web for “Pobre performance NFS ao ler sequencialmente grandes files”

Discos mais rápidos, mais memory na checkbox. Acho que sua conclusão está certa – você está procurando.

Quanta memory seu server NFS tem em relação ao seu conjunto de trabalho? O seu conjunto de trabalho caberá no cache?

O que é o airmazenamento do backend? Você diz que faz ~ 180-360MB / sec de transferência, mas como ele funciona paira E / S aleatoriamente? Eu sugeriria usair algo como fio paira ter uma idéia. seekwatcher também é diviewtido visualizair as E / S. Mas se você pode evitair bater os discos, tanto melhor.

  • instale o git no RHEL3
  • Como certificair-se de que a RHEL viewá discos multipath após uma reboot?
  • O que poderia fazer com que um sistema de files desmontasse espontaneamente ou se tornasse inválido por um curto período de tempo?
  • Alterando a localization do sistema padrão no CentOS 5
  • Não é possível enviair um e-mail da instância do amazon ec2
  • Problema de configuration Squid (tentei várias coisas já)
  • Existem RPMs paira GlassFish v3?
  • Habilite SCL python27 paira que outros RPMs possam vê-lo
  • INCONSITÊNCIA INESPERADA executair fsck manualmente redhat