Desempenho da instância

Esta página descreve os limites de desempenho para instâncias do Filestore, juntamente com as definições de desempenho recomendadas e as opções de teste.

Cada nível de serviço do Filestore oferece um nível de desempenho diferente que pode variar devido a fatores como a utilização do armazenamento em cache, o número de VMs de cliente, o tipo de máquina das VMs de cliente e a carga de trabalho testada.

A tabela seguinte apresenta o desempenho máximo que pode alcançar quando define a capacidade mínima e máxima para cada nível de serviço.

Todos os valores da tabela são limites estimados e não são garantidos. Para obter informações sobre as definições e os limites de desempenho personalizados, consulte os limites de desempenho personalizados.

Limites de desempenho na capacidade mínima e máxima para cada nível de serviço
Nível de serviço Capacidade IOPS de leitura IOPS de escrita Débito de leitura (MiBps) Taxa de transferências de escrita (MiBps) Débito de leitura de cliente único (MiBps) Débito de gravação de cliente único (MiBps) Desempenho personalizado suportado
BASIC_HDD 1 TiB a 10 TiB 600 1000 100 100 100 100 Não
10 TiB a 63,9 TiB 1000 5000 180 120 180 120
BASIC_SSD 2,5 TiB a 63,9 TiB 60 000 25 000 1200 350 1200 350
ZONAL 1 TiB 9200 2600 260 88 260 88 Sim
9,75 TiB 89 700 25 350 2535 858 450 260
10 TiB 92 000 26 000 2600 880 1600 800
100 TiB 920 000 260 000 26 000 8800 1600 800
REGIONAL 1 TiB 12 000 4000 120 100 120 100
9,75 TiB 117 000 39 000 1170 975 450 260
10 TiB 92 000 26 000 2600 880 1600 800
100 TiB 920 000 260 000 26 000 8800 1600 800
ENTERPRISE 1 TiB 12 000 4000 120 100 120 100 Não
10 TiB 120 000 40 000 1200 1000 450 260

Dimensionamento do desempenho

O desempenho é dimensionado linearmente com a capacidade dentro dos limites de desempenho indicados na tabela anterior. Por exemplo, se duplicar a capacidade da instância empresarial de 1 TiB para 2 TiB, o limite de desempenho da instância duplica de 12 000/4000 IOPS de leitura e gravação para 24 000/8000 IOPS de leitura e gravação.

Em cenários com um ou poucos clientes, tem de aumentar o número de ligações TCP com a opção de montagem nconnect para alcançar o desempenho máximo do NFS.

Para níveis de serviço específicos, recomendamos que especifique o seguinte número de ligações entre o cliente e o servidor:

Nível Capacidade Número de associações
Regional, zonal 1 a 9,75 TiB nconnect=2
Regional, zonal 10 a 100 TiB nconnect=7
Enterprise - nconnect=2
SSD de grande escala - nconnect=7

Em geral, quanto maior for a capacidade de partilha de ficheiros e menor for o número de VMs de cliente de ligação, mais desempenho ganha ao especificar ligações adicionais com nconnect.

Desempenho personalizado

Defina um desempenho personalizado para configurar o desempenho de acordo com as necessidades da sua carga de trabalho, independentemente da capacidade especificada. Pode especificar uma relação IOPS por TiB ou definir um número fixo de IOPS. Para ver detalhes, consulte a secção Desempenho personalizado.

Tipo de máquina cliente recomendado

Recomendamos que tenha um tipo de máquina do Compute Engine, como n2-standard-8, que ofereça uma largura de banda de saída de, pelo menos, 16 Gbps. Esta 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 a cache. Para contexto adicional, consulte o artigo Largura de banda da rede.

Opções de montagem do cliente Linux

Recomendamos que use as seguintes opções de montagem de NFS, especialmente hard mount, async e as opções rsize e wsize, para alcançar o melhor desempenho nas instâncias de VM do cliente Linux. Para mais informações sobre as opções de montagem do NFS, consulte nfs.

Opção predefinida Descrição
hard O cliente NFS tenta novamente os pedidos NFS indefinidamente.
timeo=600 O cliente NFS aguarda 600 decissegundos (60 segundos) antes de tentar novamente um pedido NFS.
retrans=3 O cliente NFS tenta fazer pedidos NFS três vezes antes de tomar medidas de recuperação adicionais.
rsize=524288 O cliente NFS pode receber um máximo de 524 288 bytes do servidor NFS por pedido READ.
Nota: para instâncias de nível básico, defina o valor de rsize como 1048576.
wsize=1048576 O cliente NFS pode enviar um máximo de 1 048 576 bytes (1 MiB) para o servidor NFS por pedido WRITE.
resvport O cliente NFS usa uma porta de origem privilegiada quando comunica com o servidor NFS para este ponto de montagem.
async O cliente NFS atrasa o envio de escritas de aplicações para o servidor NFS até que determinadas condições sejam cumpridas.
Aviso: a utilização da opção sync reduz significativamente o desempenho.

Otimize o débito de leitura do NFS com o parâmetro read_ahead_kb

O parâmetro read_ahead_kb do NFS especifica a quantidade de dados, em kilobytes, que o kernel do Linux deve pré-obter durante uma operação de leitura sequencial. Como resultado, os pedidos de leitura subsequentes podem ser processados diretamente a partir da memória para reduzir a latência e melhorar o desempenho geral.

Para as versões 5.4 e posteriores do kernel do Linux, o cliente NFS do Linux usa um valor read_ahead_kb predefinido de 128 KB. Recomendamos que aumente este valor para 20 MB para melhorar o débito de leitura sequencial.

Depois de montar com êxito a partilha de ficheiros na VM do cliente Linux, pode usar o seguinte script para ajustar manualmente o valor do parâmetro read_ahead_kb:

mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"

Onde:

MOUNT_POINT_DIRECTORY é o caminho para o diretório onde a partilha de ficheiros está montada.

Desempenho de VMs de cliente único e múltiplo

Os níveis de serviço escaláveis do Filestore estão otimizados para o desempenho de várias VMs de cliente e não de uma única VM de cliente.

Para instâncias zonais, regionais e empresariais, são necessários, pelo menos, quatro VMs de cliente para tirar partido do desempenho total. Isto garante que todas as VMs no cluster do Filestore subjacente são totalmente utilizadas.

Para contexto adicional, o cluster do Filestore escalável mais pequeno tem quatro VMs. Cada VM cliente comunica apenas com uma VM de cluster do Filestore, independentemente do número de ligações NFS por cliente especificado através da opção de montagem nconnect. Se usar uma única VM cliente, as operações de leitura e escrita só são realizadas a partir de uma VM de cluster do Filestore.

Melhore o desempenho em todos os Google Cloud recursos

As operações em vários Google Cloud recursos, como copiar dados do Cloud Storage para uma instância do Filestore através da CLI gcloud, podem ser lentas. Para ajudar a mitigar os problemas de desempenho, experimente o seguinte:

  • Certifique-se de que o contentor do Cloud Storage, a VM do cliente e a instância do Filestore residem na mesma região.

    As regiões duplas oferecem uma opção de desempenho máximo para os dados armazenados no Cloud Storage. Se usar esta opção, certifique-se de que os outros recursos residem numa das regiões únicas contidas na região dupla. Por exemplo, se os seus dados do Cloud Storage residirem em us-central1,us-west1, certifique-se de que a VM do cliente e a instância do Filestore residem em us-central1.

  • Para referência, verifique o desempenho de uma VM com um disco persistente (DP) anexado e compare-o com o desempenho de uma instância do Filestore.

    • Se a VM associada ao disco persistente tiver um desempenho semelhante ou mais lento em comparação com a instância do Filestore, isto pode indicar um gargalo de desempenho não relacionado com o Filestore. Para melhorar o desempenho base dos seus recursos não pertencentes ao Filestore, pode ajustar as propriedades da CLI gcloud associadas a carregamentos compostos paralelos. Para mais informações, consulte o artigo Como as ferramentas e as APIs usam carregamentos compostos paralelos.
    • Se o desempenho da instância do Filestore for notavelmente mais lento do que a VM com PD anexado, experimente distribuir a operação por várias VMs.

    • Isto ajuda a melhorar o desempenho das operações de leitura do Cloud Storage.

    • Para instâncias zonais, regionais e empresariais, são necessárias, pelo menos, quatro VMs de cliente para tirar partido do desempenho total. Isto garante que todas as VMs no cluster do Filestore subjacente são totalmente utilizadas. Para mais informações, consulte o artigo Desempenho de VMs de cliente únicas e múltiplas.

O que se segue?