Sobre a performance da instância

Nesta página, apresentamos as opções de desempenho disponíveis para instâncias do Filestore e fornecemos recomendações gerais para otimizar o desempenho. Ao usar o console do Google Cloud para criar instâncias zonais e regionais, o desempenho personalizado é ativado por padrão para que você possa escalonar as IOPS de forma independente da capacidade para atender às necessidades específicas da carga de trabalho.

A tabela a seguir resume os limites de desempenho para os intervalos de capacidade mais baixos e mais altos nas configurações de desempenho personalizadas:

Intervalo de capacidade Nível de serviço Capacidade IOPS provisionadas por TiB
Intervalo de capacidade menor Regional 100 GiB a 10.239 GiB 4.000 a 17.000
Zonal De 1 TiB a 9,75 TiB 4.000 a 17.000
Intervalo de capacidade maior Regional De 10 TiB a 100 TiB 3.000 a 7.500
Zonal De 10 TiB a 100 TiB 3.000 a 7.500

Entender os cálculos de performance

A tabela a seguir mostra os cálculos de desempenho com base nas IOPS provisionadas por TiB e na capacidade alocada. Os cálculos são baseados em diferentes intervalos de capacidade para mostrar como os valores de IOPS de leitura, IOPS de gravação, capacidade de leitura e capacidade de gravação mudam para os valores mínimo e máximo de IOPS por TiB.

Para mais informações, consulte IOPS de leitura e gravação.

Intervalo de capacidade IOPS provisionadas
mínimas e máximas por TiB
Capacidade Ler IOPS Gravar IOPS Capacidade de leitura (MiBps) Capacidade de gravação (MiBps) Capacidade de leitura de um único cliente (MiBps) Capacidade de gravação de um único cliente (MiBps)
Intervalo de capacidade menor
(100 GiB a 10.239 GiB)
4.000 100 GiB 2.000* 600 47 16 47 16
600 GiB 2.344 703 55 19 55 19
1.024 GiB 4.000 1.200 94 32 94 32
10.239 GiB 39.996 11.999 940 320 450 260
17.000 100 GiB 2.000 600 47 16 47 16
600 GiB 9.961 2.988 234 80 234 80
1.024 GiB 17.000 5.100 400 136 400 136
10.239 GiB 169.983 50.995 3.995 1.360 450 260
Intervalo de capacidade mais alto
(10 TiB a 100 TiB)
3.000 10 TiB 30.000 9.000 705 240 705 240
7.500 100 TiB 750.000 225.000 17.625 6.000 1.600 800

* As instâncias de 1.024 GiB exigem um desempenho personalizado ativado com um mínimo de 2.000 IOPS. Para mais informações, consulte Instâncias de pequena capacidade.

Escalonamento de desempenho

Em cenários com um ou poucos clientes, é necessário aumentar o número de conexõ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 especificar o seguinte número de conexões entre o cliente e o servidor:

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

Em geral, quanto maior a capacidade do compartilhamento de arquivos e menor o número de VMs de cliente conectadas, maior será o desempenho 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 pelo menos 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 usar as seguintes opções de montagem do NFS, especialmente a montagem hard, async e as opções rsize e wsize, para alcançar a melhor performance em instâncias de VM do cliente Linux. Para mais informações sobre as opções de montagem 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=524288 O cliente NFS pode receber um máximo de 524.288 bytes do servidor NFS por solicitação READ.
Observação: para instâncias de nível básico, defina o valor de rsize como 1048576.
wsize=524288 O cliente NFS pode enviar um máximo de 524.288 bytes para o 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.

Otimizar a capacidade de leitura do NFS com o parâmetro read_ahead_kb

O parâmetro NFS read_ahead_kb especifica a quantidade de dados, em kilobytes, que o kernel do Linux precisa buscar previamente durante uma operação de leitura sequencial. Como resultado, as solicitações de leitura subsequentes podem ser atendidas diretamente da memória para reduzir a latência e melhorar o desempenho geral.

Para versões do kernel do Linux 5.4 e mais recentes, o cliente NFS do Linux usa um valor padrão de read_ahead_kb de 128 KB. Recomendamos aumentar esse valor para 20 MB para melhorar a capacidade de leitura sequencial.

Depois de ativar o compartilhamento de arquivos na VM cliente do Linux, use 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"

Substitua:

MOUNT_POINT_DIRECTORY é o caminho para o diretório em que o compartilhamento de arquivos está ativado.

Performance de VMs de cliente únicas e múltiplas

Os níveis de serviço escalonáveis do Filestore são otimizados para desempenho em várias VMs de cliente, não em uma única VM de cliente.

Para instâncias zonais, regionais e empresariais, são necessárias pelo menos quatro VMs de cliente para aproveitar o desempenho total. Isso garante que todas as VMs no cluster do Filestore sejam totalmente utilizadas.

Para mais contexto, o menor cluster escalonável do Filestore tem quatro VMs. Cada VM cliente se comunica com apenas uma VM de cluster do Filestore, independentemente do número de conexões NFS por cliente especificadas usando a opção de montagem nconnect. Se você usar uma única VM de cliente, as operações de leitura e gravação serão realizadas apenas em uma única VM de cluster do Filestore.

Limites de desempenho baseados em capacidade

Os limites baseados em capacidade se aplicam a níveis de serviço que não são compatíveis com o desempenho personalizado, como os níveis básicos, ou instâncias em que você desativa manualmente o desempenho personalizado.

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

A tabela a seguir lista o desempenho máximo que pode ser alcançado ao definir a capacidade mínima e máxima para cada nível de serviço. Todos os valores da tabela são limites estimados.

Nível de serviço Capacidade Ler IOPS Gravar IOPS Capacidade de leitura (MiBps) Capacidade de gravação (MiBps) Capacidade de leitura de um único cliente (MiBps) Capacidade de gravação de um único cliente (MiBps)
Zonal 1 TiB 9.200 2.600 260 88 260 88
9,75 TiB 89.700 25.350 2.535 858 450 260
10 TiB 92.000 26.000 2.600 880 1.600 800
100 TiB 920.000 260.000 26.000 8.800 1.600 800
Regional 1 TiB 12.000 4.000 120 100 120 100
9,75 TiB 117.000 39.000 1.170 975 450 260
10 TiB 92.000 26.000 2.600 880 1.600 800
100 TiB 920.000 260.000 26.000 8.800 1.600 800
Enterprise 1 TiB 12.000 4.000 120 100 120 100
10 TiB 120.000 40.000 1.200 1.000 450 260
HDD básico 1 TiB - 10 TiB 600 1.000 100 100 100 100
10 TiB - 63,9 TiB 1.000 5.000 180 120 180 120
SSD básico 2,5 TiB a 63,9 TiB 60.000 25.000 1.200 350 1.200 350

Melhorar o desempenho em Google Cloud recursos

As operações em vários recursos do Google Cloud , como copiar dados do Cloud Storage para uma instância do Filestore usando a Google Cloud CLI, podem ser lentas. Para ajudar a reduzir problemas de desempenho, tente o seguinte:

  • Verifique se o bucket do Cloud Storage, a VM cliente e a instância do Filestore estão na mesma região.

    As birregionais oferecem uma opção de desempenho máximo para dados armazenados no Cloud Storage. Se você usar essa opção, verifique se os outros recursos estão em uma das regiões únicas contidas na birregional. Por exemplo, se os dados do Cloud Storage estiverem em us-central1,us-west1, verifique se a VM do cliente e a instância do Filestore estão em us-central1.

  • Para ter um ponto de referência, verifique o desempenho de uma VM com um Persistent Disk (DP) anexado e compare com o desempenho de uma instância do Filestore.

    • Se a VM anexada ao DP tiver desempenho semelhante ou mais lento em comparação com a instância do Filestore, isso pode indicar um gargalo de desempenho não relacionado ao Filestore. Para melhorar o desempenho de referência dos recursos que não são do Filestore, ajuste as propriedades da CLI gcloud associadas aos uploads compostos paralelos. Para mais informações, consulte Como as ferramentas e as APIs usam uploads compostos paralelos.
    • Se o desempenho da instância do Filestore for muito mais lento do que a
      VM anexada ao DP, tente distribuir a operação em várias VMs para melhorar o desempenho das operações de leitura do Cloud Storage.

A seguir