Todos os produtos
Search
Central de documentação

Object Storage Service:Metadata cache

Última atualização: Sep 24, 2026

O cache de metadados do ossfs é adequado para cenários em que um servidor apresenta alta taxa de IOPS de leitura e gravação em dados do Object Storage Service (OSS). A ativação do cache de metadados do ossfs melhora a eficiência geral das operações de objetos e o tempo de resposta das solicitações. Este tópico descreve como configure e use o cache de metadados do ossfs de forma eficaz.

Importante

Ao usar o cache de metadados do ossfs, preste atenção aos problemas de consistência e tempestividade dos dados. Portanto, recomendamos que não ative o cache de metadados do ossfs em cenários que exigem dados sempre atualizados.

Informações básicas

Metadados são informações que descrevem dados, como tamanho do objeto, hora de criação, hora de modificação e IDs de usuário e de grupo. Os IDs de usuário e de grupo são atributos não suportados pelo OSS, mas os sistemas de arquivos dependem desses atributos para verificações de permissão. O ossfs permite obter informações adicionais dos cabeçalhos personalizados dos objetos no OSS. Assim, execute operações em objetos com base em seus atributos no Linux.

A ativação do cache de metadados do ossfs melhora o desempenho, o uso de recursos e a experiência do usuário.

  • Desempenho: o cache de metadados do ossfs reduz a latência de leitura de metadados, especialmente em cenários com operações de alta E/S, melhorando a eficiência geral das operações de objetos.

  • Uso de recursos: o cache de metadados do ossfs reduz o número de chamadas para o OSS e as consultas por segundo (QPS) quando você acessa dados quentes com frequência.

  • Experiência do usuário: melhora o tempo de resposta das solicitações.

Cenários

  • O cache de metadados do ossfs é ideal para cenários em que um servidor acessa dados do OSS.

  • Em um ambiente distribuído, o cache de metadados do ossfs é adequado para cenários de leitura de dados raramente alterados do OSS. Por exemplo, leitura de conjuntos de dados de treinamento de IA e arquivos de modelos de IA do OSS para que execute consultas de big data.

Como funciona

O ossfs usa a memória do cliente para armazenar em cache os metadados do OSS e reduzir a latência das operações de armazenamento remoto.

  • Cache de metadados no primeiro acesso aos dados:

    Na primeira vez que você acessa um objeto ou um diretório no ponto de montagem do ossfs, o cliente ossfs obtém os metadados do objeto do OSS e os armazena no cache local.

  • Aceleração de acessos subsequentes:

    Se a política de exclusão de cache estiver desativada ou o cache não tiver expirado, o sistema lê os metadados do objeto diretamente do cache local em acessos subsequentes, sem precisar enviar solicitações ao OSS, reduzindo significativamente a latência.

  • Políticas de atualização de cache:

    O ossfs atualiza o cache local com base em políticas específicas, como expiração de cache e limite máximo de cache.

  • Sincronização de cache de múltiplos clientes:

    O cache de metadados do ossfs é um cache local de servidor único e utiliza a memória do cliente. Não é possível montar vários buckets em vários sistemas de arquivos locais simultaneamente com um único servidor, nem sincronizar alterações de metadados entre vários servidores.

Comparação de modos

A tabela a seguir descreve as diferenças antes e depois da ativação do cache de metadados do ossfs.

Cache de metadados do ossfs

Comando

Método de solicitação

Operação

Desempenho

Cache de metadados do ossfs desativado

stat

O ossfs envia solicitações HeadObject para um bucket a fim de obter os metadados do objeto.

O ossfs envia uma solicitação HeadObject para obter apenas um objeto do bucket.

O ossfs obtém os metadados dos objetos do bucket, um processo mais lento do que a leitura da memória.

ls

O ossfs envia uma solicitação ListObject para um bucket a fim de obter objetos em diretórios e envia solicitações HeadObject para obter os metadados dos objetos.

Após enviar uma solicitação ListObject, o ossfs envia uma solicitação HeadObject para obter apenas um objeto em um diretório do bucket.

Cache de metadados do ossfs ativado (o cache de metadados não expira)

stat

O ossfs obtém os metadados do objeto da memória local.

O ossfs obtém os objetos da memória.

O sistema lê os metadados do objeto diretamente da memória local, o que é mais rápido.

ls

O ossfs envia uma solicitação ListObject para um bucket a fim de obter objetos em diretórios e obtém os metadados dos objetos da memória local.

Após enviar uma solicitação ListObject, o ossfs obtém os objetos nos diretórios. Se você quiser acessar um objeto específico em um diretório, o ossfs obtém o objeto da memória local.

Parâmetros

A tabela a seguir descreve os parâmetros configuráveis para o cache de metadados do ossfs.

Parâmetro

Descrição

Valor

max_stat_cache_size

Especifica a ativação do cache de metadados e o seu tamanho máximo. defina o parâmetro com base no número de objetos acessados com frequência no OSS. Se houver memória suficiente, recomendamos definir o parâmetro com um valor maior para melhorar o desempenho da operação.

-omax_stat_cache_size=1.000.000 especifica que o tamanho máximo do cache de metadados é de aproximadamente 400 MB na memória. Se você definir o parâmetro como 0, o cache de metadados é desativado. Se você não especificar esse parâmetro, o sistema usa o valor padrão.

Valor padrão: 100.000.

Unidade: objeto ou diretório.

Tamanho: aproximadamente 40 MB.

stat_cache_expire

Especifica a ativação da política de exclusão para o cache de metadados e altera o período de validade desse cache. Recomendamos especificar o período de validade do cache de metadados de acordo com os requisitos do seu negócio.

-ostat_cache_expire=1800 especifica que o período de validade é de 30 minutos. Se você definir o parâmetro como -1, a política de exclusão de cache é desativada. Se você não especificar esse parâmetro, o sistema usa o valor padrão. Recomendamos não desativar a política de exclusão de cache, a menos que não ocorram atualizações nos objetos após o bucket ser montado no sistema de arquivos local.

Nota

Por padrão, o ossfs ativa a política de exclusão de cache e define o limite máximo para o cache de metadados como 100.000, o que consome aproximadamente 40 MB de memória.

Valor padrão: 900.

Unidade: segundos.

readdir_optimize

Especifica o uso da otimização de cache. Valor padrão: false.

Ao especificar o parâmetro, o ossfs não envia uma solicitação HeadObject para obter os metadados do objeto, como gid e uid, e execute o comando ls. O ossfs envia a solicitação HeadObject apenas quando o tamanho do objeto acessado é 0. No entanto, o ossfs ainda pode enviar um número específico de solicitações HeadObject por motivos como verificações de permissão. especifique o parâmetro com base nas características da aplicação.

Para usar a otimização de cache, especifique -oreaddir_optimize.

Valor padrão: false.

Mecanismo de gerenciamento de cache de metadados

A tabela a seguir descreve o mecanismo de gerenciamento de cache de metadados do ossfs.

Status do cache

Operação

Os metadados do objeto estão em cache e a política de exclusão de cache está desativada ou o cache não expirou.

Leia os metadados do objeto diretamente do cache.

Os metadados do objeto estão em cache e o cache expirou.

atualize o cache.

Os metadados do objeto não estão em cache e a capacidade do cache está disponível.

Armazene os objetos em cache.

Os metadados do objeto não estão em cache, a capacidade do cache está totalmente consumida e a política de exclusão de cache está ativada.

Percorra o cache e exclua os objetos expirados.

Os metadados do objeto não estão em cache, a capacidade do cache está totalmente consumida e a política de exclusão de cache está desativada.

Exclua os objetos em cache sem acesso por um longo período com base na política de uso menos recente (LRU).

Sugestões

  • Se os metadados dos objetos não forem relevantes, recomendamos especificar o parâmetro readdir_optimize para melhorar o desempenho das operações list e find. A ativação do cache de metadados do ossfs remove o suporte a links simbólicos.

  • Em cenários com múltiplos clientes e altos requisitos de tempo real para atualizações de dados, proceda com cautela ao ativar o cache de metadados do ossfs. Desative o cache de metadados do ossfs especificando o parâmetro -omax_stat_cache_size=0 para manter a consistência dos dados. No entanto, pode ocorrer degradação de desempenho e geração de taxas adicionais.

    Se a sua aplicação exigir forte consistência de dados entre vários clientes, recomendamos usar Cloud Storage Gateway (CSG) ou Cloud Parallel File Storage (CPFS). Não recomendamos o uso do ossfs.

  • Se o número de objetos acessados com frequência no OSS for grande, aumente o valor do parâmetro max_stat_cache_size adequadamente para evitar a exclusão frequente do cache.

    Se você precisar operar um grande número de objetos e a memória do servidor for insuficiente, recomendamos usar ossutil ou OSS SDKs. Se quiser montar um bucket em um sistema de arquivos local, recomendamos usar CSG ou CPFS.

  • Para um grande volume de objetos acessados com frequência no OSS, crie vários pontos de montagem do ossfs, cada um dedicado a um subdiretório separado. Essa configuração distribui a carga de trabalho entre os pontos de montagem e melhora o desempenho.