Práticas recomendadas e desempenho do Cloud Storage FUSE

Nesta página, descrevemos o desempenho do Cloud Storage FUSE em termos de latência, largura de banda, armazenamento em cache e novas tentativas, bem como as práticas recomendadas para o uso do Cloud Storage FUSE.

Leituras e gravações

O Cloud Storage FUSE tem melhor desempenho para cargas de trabalho de leitura e gravação sequenciais do que as cargas de trabalho de leitura e gravação aleatórias. O Cloud Storage FUSE usa uma heurística para detectar quando um arquivo está sendo lido em sequência, permitindo que o Cloud Storage FUSE emita menos solicitações de leitura maiores para o Cloud Storage usando a mesma conexão TCP.

Para otimizar o desempenho da leitura sequencial, faça upload e leia arquivos com tamanho de 5 MB a 200 MB. Para otimizar o desempenho de leitura aleatória, é recomendável fazer upload e ler arquivos com cerca de 2 MB.

IOPS (consultas por segundo)

O Filestore é uma opção melhor do que o Cloud Storage FUSE para cargas de trabalho que exigem operações de entrada/saída por segundo (IOPS, na sigla em inglês) altas e instantâneas, também conhecidas como "consultas por segundo" no Cloud. Armazenamento. O Filestore também é a melhor opção para IOPS muito altas em um único sistema de arquivos e menor latência.

Latência e capacidade

O Cloud Storage FUSE tem uma latência maior do que um sistema de arquivos local. A capacidade é reduzida quando você lê ou grava pequenos arquivos um de cada vez, já que resulta em várias chamadas de API separadas. Ler ou gravar vários arquivos grandes de uma só vez pode ajudar a aumentar a capacidade.

A latência do sistema de arquivos do Cloud Storage FUSE afeta rsync, que lê e grava apenas um arquivo por vez. Para transferir vários arquivos em paralelo a seu bucket, tente usar a gsutil executando gsutil -m rsync. Para mais informações, consulte a documentaçãogsutil rsync.

Limitação de taxa

Para limitar a taxa de tráfego que o Cloud Storage FUSE envia para o Cloud Storage, use as seguintes opções como parte do comando gcsfuse mount:

  • A opção --limit-ops-per-sec controla a taxa em que o Cloud Storage FUSE envia solicitações para o Cloud Storage.

  • A opção --limit-bytes-per-sec controla a largura de banda em que o Cloud Storage FUSE faz o download de dados do Cloud Storage.

Para mais informações sobre essas opções, consulte a documentação do gcsfuse mount.

Todas as limitações de taxa são aproximadas e realizadas em uma janela de oito horas. Por padrão, nenhum limite de taxa é aplicado.

Controle do procedimento de upload

Por padrão, as solicitações com falha do Cloud Storage FUSE para o Cloud Storage são repetidas com espera exponencial até uma duração de espera especificada, que tem um valor de 1 (um minuto). por padrão. Quando a duração de espera exceder o limite especificado, a repetição será interrompida. É possível usar a opção --max-retry-sleep como parte de uma chamada gcsfuse mount para especificar a duração da espera. O valor 0 desativa as tentativas.

Para mais informações sobre a opção --max-retry-sleep, consulte a documentação de gcsfuse mount.

Armazenamento em cache

Por padrão, o Cloud Storage FUSE usa armazenamento em cache de estatísticas e de tipos de cache. É possível controlar o comportamento de armazenamento em cache do Cloud Storage FUSE usando as opções --stat-cache-capacity, --stat-cache-ttl e --type-cache-ttl como parte de uma chamada gcsfuse mount:

  • A opção --stat-cache-capacity controla o tamanho do cache de estatísticas.

  • A opção --stat-cache-ttl especifica por quanto tempo o Cloud Storage FUSE armazena em cache as entradas de estatística.

  • A opção --type-cache-ttl especifica por quanto tempo o Cloud Storage FUSE armazena em cache o mapeamento de objetos no Cloud Storage para o tipo correspondente, como arquivos ou diretórios.

Para mais informações sobre as opções de armazenamento em cache de estatísticas e armazenamento em cache de tipos, consulte a documentação do gcsfuse mount.

Considerações

Quando você lista todos os objetos em um bucket ativado (por exemplo, executando ls), o Cloud Storage FUSE chama a API Objects: list no Cloud Storage. A API pagina os resultados, o que significa que o Cloud Storage FUSE pode precisar emitir várias chamadas, dependendo de quantos objetos houver no bucket. Isso pode tornar uma operação de lista cara e lenta.

Comparativos de mercado

Para ver instruções sobre como realizar testes de carga no Cloud Storage FUSE, consulte Comparativos de mercado de desempenho na documentação do GitHub.