Desempenho

Esta página descreve o desempenho médio esperado e as configurações de desempenho recomendadas para o Filestore. Ela também mostra como testar o desempenho das instâncias do Filestore.

Desempenho esperado

Cada nível de serviço do Filestore fornece um nível diferente de desempenho. Os níveis Básico oferecem desempenho consistente além de uma capacidade de instância de 10 TiB. Para instâncias de nível de alto escalonamento, o desempenho aumenta ou diminui linearmente à medida que a capacidade aumenta ou diminui.

O desempenho de qualquer instância pode ser diferente dos números informados devido a vários fatores, como o uso de armazenamento em cache no cliente ou no servidor, o tipo de máquina do Compute Engine usado para a instância de VM do cliente, e a carga de trabalho que está sendo testada.

Nas tabelas a seguir, você vê o desempenho esperado das instâncias do Filestore com base no nível de serviço e na capacidade configurada:

Desempenho Capacidade (TiB) IOPS de leitura/gravação Leitura/gravação de gravação (MiB/s)
BASIC_HDD 1-10 600/1.000 100/100
BASIC_HDD 10-63,9 1.000/5.000 180/120
BASIC_SSD 2,5-63,9 60.000/25.000 1.200/350
HIGH_SCALE_SSD 10 90.000/26.000 2.600/880
HIGH_SCALE_SSD 100 9.00.000/200.000 26.000/8.800

Dimensionamento do desempenho do nível de SSD de alta escala

O desempenho das instâncias de alto nível de escalonamento é dimensionado linearmente com a capacidade alocada em etapas 2.5 TiB. A tabela a seguir mostra a quantidade de desempenho gerada com cada 2,5 TiB de capacidade.

Especificação IOPS máximas sustentadas1 Capacidade máxima máxima2 (MiB/s)
Leitura por 2.5TiB 23.000 650
Gravação por 2.5TiB 6.500 220

Em cenários de um ou poucos clientes, é preciso aumentar o número de conexões TCP com a opção de ativação nconnect para alcançar o desempenho máximo de NFS. Em geral, quanto maior a capacidade de compartilhamento de arquivos e menos VMs de conexão do cliente, mais o desempenho ganhará especificando conexões adicionais com nconnect.

Tipo de máquina de cliente recomendado

Recomendamos ter um tipo de máquina do Compute Engine, como n2-standard-8, que forneça uma largura de banda de saída de 16 Gbps. Ela permite que o cliente atinja aproximadamente 16 anosGbps largura de banda de leitura para cargas de trabalho compatíveis com o cache.Para mais contexto, consulte:Largura de banda da rede para começar.

Opções de ativação do cliente Linux

Recomendamos o uso das opções de montagem NFS padrão, especialmente usando uma montagem hard, async e as opções rsize e wsize definidas como 1 MiB para alcançar o melhor desempenho em instâncias de VM do cliente Linux. Para mais informações sobre as opções de ativação do NFS, consulte nfs.

Clique para expandir: opções de mount padrão do NFS

Opção padrão Descrição
hard O cliente NFS repete solicitações NFS indefinidamente.
timeo=600 O cliente NFS aguarda 600 segundos (60 segundos) antes de tentar novamente uma solicitação NFS.
retrans=3 O cliente NFS tenta fazer solicitações NFS três vezes antes de realizar outras ações de recuperação.
rsize=1048576 O cliente NFS pode receber, no máximo, 1.048576 bytes (1 MiB) do servidor NFS por solicitação READ.
wsize=1048576 O cliente NFS pode receber, no máximo, 1.048576 bytes (1 MiB) do servidor NFS por solicitação WRITE.
resvport O cliente NFS usa uma porta de origem com privilégios ao se comunicar com o servidor NFS para esse ponto de montagem.
async O cliente NFS atrasa o envio de gravações de aplicativos para o servidor NFS até que determinadas condições sejam atendidas.
Cuidado: o uso da opção sync reduz significativamente o desempenho.

Como testar o desempenho

Se você estiver usando o Linux, utilize a ferramenta fio para comparar as capacidades de leitura e gravação e a IOPS para instâncias do nível básico. Os exemplos nesta seção mostram comparativos comuns que é possível executar. Para garantir o melhor desempenho, pode ser necessário executar a ferramenta fio de várias instâncias de VM do cliente. Esse método para desempenho de comparativo de mercado não fornece resultados precisos para instâncias de nível de alto escalonamento.

O exemplo a seguir compara a capacidade máxima de gravação:

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=write --blocksize=1m --iodepth=64 --readwrite=write

O exemplo a seguir compara a IOPS máxima de gravação:

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite

O exemplo a seguir compara as capacidades máximas de leitura:

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=read --blocksize=1m --iodepth=64 --readwrite=read

O exemplo a seguir compara a IOPS máxima de leitura:

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randread --blocksize=4k --iodepth=256 --readwrite=randread

A seguir


  1. Os números são medidos com base em E/S de leituras/gravações em 4K. 

  2. Os números são medidos com base em E/S de leituras/gravações em 1M.