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 dos níveis Enterprise e High Scale, 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, o tipo de máquina da VM do cliente e a carga de trabalho }testado.

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 Capacidade de leitura/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 920.000/260.000 26.000/8.800
ENTERPRISE 1 12.000/4.000 120/100
ENTERPRISE 10 120.000/40.000 1.200/1.000

Escalonamento de desempenho do nível SSD para empresas e de alta escala

O desempenho das instâncias de nível Enterprise e High Scale é escalonado linearmente de acordo com a capacidade alocada em 1 etapa TiB e 2,5 TiB, respectivamente. A tabela a seguir mostra o desempenho alcançado com cada capacidade de 2,5 TiB.

Alta escala

Especificação IOPS máximas sustentadas1 Tput máximo sustentado 2 (MiB/s)
Leitura por 2.5TiB 23.000 650
Gravação por 2.5TiB 6.500 220

Empresas

Especificação IOPS máximas sustentadas[^1] Tput sustentado máximo[^2] (MiB/s)
Leitura por 1TiB 12.000 120
Gravação por 1TiB 4.000 100

Em cenários de cliente único e pequeno, você precisa aumentar o número de conexões TCP com a opção de ativação nconnect para alcançar o desempenho máximo do NFS. Recomendamos especificar até 7 conexões para o nível High Scale e até 2 conexões para o nível Enterprise. Em geral, quanto maior a capacidade de compartilhamento do arquivo e quanto menos VMs do cliente estiverem se conectando, mais desempenho você terá ao especificar outras conexões 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. Essa largura de banda de saída permite que o cliente alcance aproximadamente 16 Gbps de largura de banda de leitura para cargas de trabalho compatíveis com cache. Para mais contexto, consulte Largura de banda de rede.

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

Recomendamos o uso das seguintes opções de montagem do NFS, especialmentehard montar,async e ter arsize e nawsize opções definidas como 1MiB para ter o melhor desempenho nas instâncias de VM do cliente Linux. Para mais informações sobre as opções de ativação do NFS, consulte 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.048.576 bytes (1 MiB) do servidor NFS por solicitação READ.
wsize=1048576 O cliente NFS pode receber no máximo 1.048.576 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 comparar o desempenho não fornece resultados precisos para instâncias dos níveis empresarial e 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.