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 emus-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
- Desempenho personalizado
- Testar o desempenho
- Resolver problemas relacionados ao desempenho
- Escalonar capacidade