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. O desempenho de qualquer instância pode variar em relação aos números esperados, devido a vários fatores, como o uso do armazenamento em cache, o tipo de máquina da VM cliente e a carga de trabalho 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 Capacidade de processamento 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 92.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

A tabela acima mostra o desempenho esperado com capacidade máxima e mínima para alta escala e empresa. Entre esses limites, o desempenho é escalonado linearmente à medida que a capacidade é escalonada. Por exemplo, se você dobrar a capacidade da instância do Enterprise de 1 TiB para 2 TiB, o desempenho esperado da instância dobrará de IOPS de leitura/gravação de 12.000/4.000 para 24.000/8.000 IOPS de leitura/gravação.

Tipo de máquina de cliente recomendado

Recomendamos 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 possibilita que o cliente atinja aproximadamente 16 Gbps de largura de banda de leitura para cargas de trabalho amigáveis ao cache. Para mais contexto, consulte Largura de banda de rede.

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

Recomendamos usar as seguintes opções de montagem de NFS, especialmente hard, montar async e ter as opções rsize e wsize definidas como 1 MiB para alcançar 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 de comparativo de mercado de desempenho não apresenta resultados precisos para instâncias dos níveis Enterprise e de Alta escala.

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