Compartilhar via


Impacto no desempenho do Kerberos em volumes Azure NetApp Files NFSv 4.1

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

Opções de segurança disponíveis

As opções de segurança disponíveis atualmente para os volumes NFSv 4.1 são as seguintes:

  • sec=sys usa GIDs e UIDs unix locais usando AUTH_SYS para autenticar operações NFS.
  • sec=krb5 usa Kerberos V5 em vez de GIDs e UIDs 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 verificações seguras para evitar a adulteração de dados.
  • sec=krb5p usa Kerberos V5 para autenticação de usuário e verificação de integridade. Ele criptografa o tráfego NFS para evitar a detecçã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 único no desempenho do lado do 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:
    • Leitura/gravação aleatória de operação pequena (usando FIO)
    • Leitura/gravação sequencial de operação grande (usando FIO)
    • Carga de trabalho pesada de metadados, conforme gerado por aplicativos como git

Impacto sobre o desempenho esperado

Há duas áreas de foco: carga leve e limite superior. As listas a seguir descrevem a configuração de segurança de impacto de desempenho por configuração de segurança e cenário por 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, usando um único cliente.

Impacto no desempenho de krb5:

  • A IOPS média diminuiu 53%
  • A taxa de transferência média diminuiu 53%
  • Latência média aumentada em 0,2 ms

Impacto no desempenho do krb5i:

  • A IOPS média diminuiu 55%
  • A taxa de transferência média diminuiu 55%
  • A latência média aumentou 0,6 ms

Impacto no desempenho do krb5p:

  • A IOPS média diminuiu 77%
  • A taxa de transferência média diminuiu 77%
  • A latência média aumentou 1,6 ms

Considerações de desempenho com nconnect

Não é recomendável usar as opções de montagem nconnect e sec=krb5* juntas. Foi observada uma degradação do desempenho ao usar as duas opções em combinação.

A GSS-API (Interface de Programação de Aplicativo de Padrão de Segurança Genérico) fornece uma maneira de os aplicativos protegerem os dados enviados para aplicativos pares. Esses dados podem ser enviados de um cliente em um computador para um servidor em outro computador. 

Quando nconnect é usado no Linux, o contexto de segurança do GSS é compartilhado entre todas as conexões nconnect com um servidor específico. O TCP é um transporte confiável que dá suporte à 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, o que exige que as mensagens sejam enviadas novamente. Um número maior de pacotes em uma instalação nconnect causa frequentes pacotes fora da janela, disparando o comportamento descrito. Nenhum percentual de degradação específico pode ser declarado com esse comportamento.

Próximas etapas