Esta página descreve os limites de desempenho das instâncias do Filestore, além das configurações de desempenho recomendadas e das 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 o uso de 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 a seguir lista o desempenho máximo que você pode alcançar 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 e não garantidos. Para informações sobre configurações e limites de desempenho personalizados, consulte Limites de desempenho personalizados.
| Nível de serviço | Capacidade | Ler IOPS | Gravar IOPS | Capacidade de leitura (MiBps) | Capacidade de processamento de gravação (MiBps) | Capacidade de leitura de cliente único (MiBps) | Capacidade de gravação de cliente único (MiBps) | Desempenho personalizado com suporte |
|---|---|---|---|---|---|---|---|---|
| BASIC_HDD | De 1 TiB a 10 TiB | 600 | 1.000 | 100 | 100 | 100 | 100 | Não |
| De 10 TiB a 63,9 TiB | 1.000 | 5.000 | 180 | 120 | 180 | 120 | ||
| BASIC_SSD | De 2,5 TiB a 63,9 TiB | 60.000 | 25.000 | 1.200 | 350 | 1.200 | 350 | |
| ZONAL | 1 TiB | 9.200 | 2.600 | 260 | 88 | 260 | 88 | Sim |
| 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 | Não |
| 10 TiB | 120.000 | 40.000 | 1.200 | 1.000 | 450 | 260 |
Escalonamento de desempenho
O desempenho é escalonado linearmente com a capacidade dentro dos limites de desempenho listados na tabela anterior. Por exemplo, se você dobrar a capacidade da instância empresarial de 1 TiB para 2 TiB, o limite de desempenho da instância será dobrado de 12.000/4.000 IOPS de leitura e gravação para 24.000/8.000 IOPS de leitura e gravação.
Em cenários de cliente único e de poucos clientes, é preciso aumentar o número de conexões TCP
com a
nconnect
opção de ativação para atingir 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 | De 1 a 9,75 TiB | nconnect=2 |
| Regional, zonal | De 10 a 100 TiB | nconnect=7 |
| Enterprise | - | nconnect=2 |
| SSD de grande escala | - | nconnect=7 |
Em geral, quanto maior a capacidade de compartilhamento de arquivos e menos VMs de cliente conectadas, mais desempenho você terá ao especificar outras conexões com nconnect.
Desempenho personalizado
Defina o desempenho personalizado para configurar o desempenho de acordo com as necessidades da carga de trabalho, independentemente da capacidade especificada. É possível especificar uma proporção de IOPS por TiB ou definir um número fixo de IOPS. Para mais detalhes, consulte Desempenho personalizado.
Para cargas de trabalho do GKE, é possível escalonar as IOPS de forma independente da capacidade para níveis zonais e regionais. Usando a API VolumeAttributesClass, é possível ajustar dinamicamente as IOPS para volumes ativos sem tempo de inatividade. Para um guia detalhado sobre como configurar o desempenho personalizado usando o driver CSI, consulte Configurar o desempenho personalizado.
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 pelo menos 16 Gbps. Essa largura de banda de saída permite que o cliente atinja 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 de NFS, especialmente hard, 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 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=524288 |
O cliente NFS pode receber no máximo 524.288 bytes do servidor NFS por solicitação READ. Observação: para instâncias de nível básico, defina o valor rsize como 1048576. |
wsize=524288 |
O cliente NFS pode enviar no máximo 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 processamento 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 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 read_ahead_kb padrão de 128 KB.
Recomendamos aumentar esse valor para 20 MB para melhorar a capacidade de leitura sequencial.
Depois de montar o compartilhamento de arquivos na VM do cliente Linux, use o script a seguir 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"
Em que:
MOUNT_POINT_DIRECTORY é o caminho para o diretório em que o compartilhamento de arquivos está ativado.
Desempenho de VM de cliente único e múltiplo
Os níveis de serviço escalonáveis do Filestore são otimizados para várias VMs de cliente, não para 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 subjacente sejam totalmente utilizadas.
Para mais contexto, o menor cluster escalonável do Filestore tem quatro VMs. Cada VM de cliente se comunica com apenas uma VM de cluster do Filestore,
independentemente do número de conexões NFS por cliente especificado usando a
nconnect
opção de ativação. 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.
Melhorar o desempenho em vários recursos Google Cloud
As operações em vários Google Cloud recursos, como copiar dados do Cloud Storage para uma instância do Filestore usando a CLI gcloud, podem ser lentas. Para ajudar a mitigar problemas de desempenho, tente o seguinte:
Verifique se o bucket do Cloud Storage, a VM do cliente e a instância do Filestore estão na mesma região.
As regiões duplas 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 região 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 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 for semelhante ou mais lenta em desempenho em comparação com a instância do Filestore, isso poderá 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 a 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.Isso 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 aproveitar o desempenho total. Isso garante que todas as VMs no cluster do Filestore subjacente sejam totalmente utilizadas. Para mais informações, consulte Desempenho de VM de cliente único e múltiplo.