Partilhar via


Impacto no desempenho do Kerberos nos volumes NFSv4.1 dos Arquivos NetApp do Azure

Os Arquivos NetApp do Azure dão suporte à criptografia de cliente NFS nos modos Kerberos (krb5, krb5i e krb5p) com criptografia AES-256. Este artigo descreve o impacto no desempenho do Kerberos em volumes NFSv4.1. As comparações de desempenho mencionadas neste artigo são feitas em relação ao sec=sys parâmetro de segurança, testando em um único volume com um único cliente.

Opções de segurança disponíveis

As opções de segurança atualmente disponíveis para volumes NFSv4.1 são as seguintes:

  • sec=sys usa UIDs e GIDs UNIX locais usando AUTH_SYS para autenticar operações NFS.
  • sec=krb5 usa Kerberos V5 em vez de UIDs e GIDs UNIX locais para autenticar usuários.
  • sec=krb5i usa Kerberos V5 para autenticação de usuário e executa a verificação de integridade de operações NFS usando somas de verificação seguras para evitar adulteração de dados.
  • sec=krb5p usa Kerberos V5 para autenticação de usuário e verificação de integridade. Cifra o tráfego NFS para evitar a intercetação de tráfego. Essa opção é a configuração mais segura, mas também envolve a maior sobrecarga de desempenho.

Vetores de desempenho testados

Esta seção descreve o impacto no desempenho de um único cliente das várias sec=* opções.

  • O impacto no desempenho foi testado em dois níveis: baixa simultaneidade (baixa carga) e alta simultaneidade (limites superiores de E/S e taxa de transferência).
  • Foram testados três tipos de cargas de trabalho:
    • Pequena operação de leitura/gravação aleatória (usando FIO)
    • Grande operação sequencial de leitura/gravação (usando FIO)
    • Carga de trabalho pesada de metadados gerada por aplicativos como o git

Impacto esperado no desempenho

Existem duas áreas de foco: carga leve e limite superior. As listas a seguir descrevem o impacto no desempenho de cada configuração de segurança e de cada cenário.

Escopo do teste

  • Todas as comparações são feitas em relação ao sec=sys parâmetro de segurança.
  • O teste foi feito em um único volume, utilizando um único cliente.

Impacto no desempenho do krb5:

  • As I/OPS médias diminuíram em 53%%
  • O rendimento médio diminuiu em 53%
  • Latência média aumentada em 0,2 ms

Impacto do krb5i no desempenho:

  • A I/OPS média diminuiu por 55 por cento%
  • O rendimento médio diminuiu 55%
  • A latência média aumentou 0,6 ms

Impacto do krb5p no desempenho:

  • A média de I/OPS diminuiu em 77%
  • O rendimento médio diminuiu 77%
  • A latência média aumentou 1,6 ms

Considerações de desempenho com nconnect

Não é recomendado usar as opções de montagem nconnect e sec=krb5* juntas. Usar essas opções juntas pode causar degradação do desempenho.

A GSS-API (Generic Security Standard Application Programming Interface) fornece uma maneira de os aplicativos protegerem os dados enviados para aplicativos pares. Esses dados podem ser enviados de um cliente em uma máquina para um servidor em outra máquina. 

Quando nconnect é usado no Linux, o contexto de segurança GSS é compartilhado entre todas as nconnect conexões com um servidor específico. O TCP é um transporte confiável que suporta a entrega de pacotes fora de ordem para lidar com pacotes fora de ordem em um fluxo GSS, usando uma janela deslizante de números de sequência. Quando pacotes que não estão na janela de sequência são recebidos, o contexto de segurança é descartado e um novo contexto de segurança é negociado. Todas as mensagens enviadas no contexto agora descartado não são mais válidas, exigindo que as mensagens sejam enviadas novamente. Um número maior de pacotes numa nconnect configuração causa pacotes frequentes fora da janela, acionando o comportamento descrito. Nenhuma porcentagem de degradação específica pode ser declarada com esse comportamento.

Próximos passos