Relação entre as opções MTU e NFS rsize / wsize

7

Estou tentando entender as configurações de rede relacionadas ao NFS e vários tamanhos de buffer (e existem vários).

Estou executando o wireshark e inspecionando os pacotes TCP que chegam ao servidor NFS. O Wireshark está exibindo um tamanho máximo de pacote 32626 durante uma operação de gravação estendida (cliente- > servidor), supondo que eu esteja interpretando corretamente ("bytes on the wire" que eu suponho inclui todos os cabeçalhos de camada de rede, etc.)

As configurações do NFS "rsize" e "wsize" para o armazenamento exportado estão definidas como 32k em ambos os C / S, então imaginei que os resultados acima foram resultado dessa configuração. No entanto, aumentar esses valores NÃO aumenta o tamanho do pacote mostrado pelo Wireshark.

Então, minha pergunta é: que outras restrições poderiam estar em vigor? Fiz uma boa quantidade de pesquisas, e é isso que eu me deparei até agora. Parece-me que nenhuma das restrições de rede abaixo limitaria o tamanho da transmissão para 32k:

Do sysctl:

net.ipv4.tcp_mem          = 4096 87380 4194304
net.ipv4.tcp_{r,w}mem     = 4096 87380 4194304
net.core.{r,w}mem_max     = 131071
net.core.rmem_default     = 229376

Meu MTU está atualmente em 8K

    
por Jmoney38 05.02.2014 / 19:07

1 resposta

3

O tamanho do NFS {r, w} definido pela opção de montagem do cliente e / ou recursos do servidor. IOW, você pode defini-los na linha de comando como:

# mount -o rsize=1048576 .....

O cliente Linux possui valores padrão diferentes para v3 e v4 - 32k e 1MB. O servidor nfs pode solicitar um tamanho menor ou pode suportar tamanhos maiores. Você deve ser capaz de ver isso com wireshark como chamada FSINFO para os atributos de arquivo v3 ou FATTR4_MAXREAD / FATTR4_MAXWRITE, que solicitou com a primeira chamada GETATTR.

A camada RPC pode dividir solicitações únicas de leitura ou gravação em vários fragmentos RPC. A camada TCP pode dividir um único fragmento RPC em vários pacotes TCP. Por outro lado, a camada TCP pode reunir várias solicitações RPC em um único pacote TCP, se elas couberem.

Existe um documento bastante desactualizado Optimizing NFS Performance , mas terá uma ideia de como ajustar os números.

    
por 06.02.2014 / 08:41