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 dos números esperados devido a vários fatores, como o uso de armazenamento em cache, o número de VMs do cliente, o tipo de máquina das VMs do cliente e a carga de trabalho testada.
As tabelas a seguir mostram o desempenho esperado das instâncias do Filestore com base no nível de serviço e na capacidade configurada:
Desempenho | Capacidade | IOPS de leitura e gravação | Capacidade de leitura e gravação (MiB/s) |
---|---|---|---|
BASIC_HDD |
De 1 TiB a 10 TiB | 600/1.000 | 100/100 |
BASIC_HDD |
10 TiB a 63,9 TiB | 1.000/5.000 | 180/120 |
BASIC_SSD |
2,5 TiB a 63,9 TiB | 60.000/25.000 | 1.200/350 |
ZONAL |
1 TiB | 9.200/2.600 | 260/88 |
ZONAL |
9,75 TiB | 89.700/25.350 | 2.535/858 |
ZONAL |
10 TiB | 92.000/26.000 | 2.600/880 |
ZONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
REGIONAL |
1 TiB | 12.000/4.000 | 120/100 |
REGIONAL |
9,75 TiB | 117.000/39.000 | 1.170/975 |
REGIONAL |
10 TiB | 92.000/26.000 | 2.600/880 |
REGIONAL |
100 TiB | 920.000/260.000 | 26.000/8.800 |
ENTERPRISE |
1 TiB | 12.000/4.000 | 120/100 |
ENTERPRISE |
10 TiB | 120.000/40.000 | 1.200/1.000 |
A tabela anterior mostra o desempenho esperado nas capacidades mínima e máxima de cada nível de serviço. Entre esses limites, o desempenho é escalonado linearmente conforme a capacidade é escalonada. Por exemplo, se você dobrar a capacidade da instância corporativa de 1 TiB para 2 TiB, o desempenho esperado dela 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 um ou poucos clientes, é preciso aumentar o número de conexões TCP com a opção de ativação nconnect
para atingir o desempenho máximo do NFS. Recomendamos especificar até
7
conexões para o nível de serviço zonal e até 2
conexões para
os níveis regional e empresarial. Em geral, quanto maior a capacidade de compartilhamento de arquivos
e quanto menos VMs de clientes conectadas, maior o desempenho
especificando mais 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 16 Gbps
. Essa largura de banda de saída permite que o cliente alcance aproximadamente 16 Gbps
de leitura de largura de banda para cargas de trabalho com armazenamento em cache. Para mais contexto, consulte Largura de banda da rede.
Opções de ativação do cliente Linux
Recomendamos o uso das seguintes opções de montagem do NFS, especialmente a ativação 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 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=262144 |
O cliente NFS pode receber no máximo 262.144 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=1048576 |
O cliente NFS pode enviar no máximo 1.048.576 bytes (1 MiB) 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. |
Desempenho da VM de um ou vários clientes
Os níveis de serviço escalonáveis do Filestore têm o desempenho otimizado para várias VMs de clientes, não para uma única VM de cliente.
Para instâncias zonais, regionais e corporativas, são necessárias pelo menos quatro VMs de cliente para aproveitar o desempenho total. Isso garante que todas as VMs no cluster subjacente do Filestore sejam totalmente utilizadas.
Para maior 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 opção de ativação nconnect
. Se você estiver usando uma única VM de cliente, as operações de leitura e gravação serão realizadas
apenas a partir de uma única VM de cluster do Filestore.
Melhore o desempenho nos recursos do Google Cloud
As operações em vários recursos do Google Cloud, como a cópia de dados
do Cloud Storage para uma instância do Filestore usando gsutil
,
podem ser lentas. Para ajudar a reduzir os 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 todos na mesma região.
As regiões birregionais oferecem uma opção com desempenho máximo para dados armazenados no Cloud Storage. Se você usar essa opção, verifique se os outros recursos residem em uma das regiões únicas contidas no local 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
.Como ponto de referência, verifique o desempenho de uma VM conectada ao DP e compare o desempenho de uma instância do Filestore.
Se a VM conectada ao DP tiver desempenho semelhante ou mais lento em comparação com a instância do Filestore, isso poderá indicar um gargalo de desempenho não relacionado ao Filestore. Tente o seguinte para melhorar o desempenho básico dos seus recursos que não são do Filestore:
Aplique a opção
gsutil -m
. Essa opção permite que operações compatíveis, incluindocp
,mv
ersync
, sejam executadas em paralelo.Aplique as configurações de
gsutil
a seguir. Cada um deles é valores de configuraçãoboto
mutáveis definidos no arquivo de configuraçãoboto
. Os usuários podem modificar o arquivo diretamente (recomendado) ou usando a opçãogsutil -o
:
Se o desempenho da instância do Filestore for notavelmente mais lento que o da VM conectada 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 corporativas, são necessárias pelo menos quatro VMs de cliente para aproveitar o desempenho total. Isso garante que todas as VMs no cluster subjacente do Filestore sejam totalmente utilizadas. Para mais informações, consulte Desempenho da VM de um ou vários clientes.
Como testar o desempenho
Se você estiver usando o Linux, utilize a ferramenta fio (em inglês) para comparar a capacidade de leitura e gravação e a IOPS para instâncias de nível básico. Esse método para comparar o desempenho não é recomendado para instâncias zonais, regionais e corporativas.
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.
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