O cache de dados do ossfs é ideal para cenários com leitura frequente de pequenos volumes de dados. Após ative o cache de dados do ossfs, você reduz significativamente a latência de leitura e melhora a eficiência das operações com objetos. Este tópico descreve como configure e usar o cache de dados do ossfs de forma eficaz.
Ao usar dados em cache, preste atenção à consistência e à atualidade dos dados. Portanto, não recomendamos ative o cache de dados do ossfs em cenários com alta exigência de dados em tempo real.
Informações básicas
Ao usar o ossfs para acessar objetos, a ferramenta cria um arquivo temporário chamado tmpfile no diretório /tmp por padrão como cache de disco, invisível aos usuários. Ao fechar todos os identificadores de arquivo abertos, o sistema exclua automaticamente o arquivo temporário. No entanto, em cenários de negócios com acesso frequente aos mesmos objetos, esse mecanismo pode exigir o download dos objetos do OSS cada vez que você abre, lê e fecha os objetos, consumindo grande parte do throughput do OSS.
Ao ative o cache de dados do ossfs, você reduz a pressão de throughput no armazenamento remoto causada pela leitura frequente de dados quentes, diminui a latência de leitura e reduz o número de acessos ao armazenamento remoto.
Cenários
O cache de dados do ossfs é ideal para cenários com leitura frequente de pequenos volumes de dados. Certifique-se de que a capacidade do disco local seja suficiente para armazenar os dados quentes.
Comparação entre os modos
A tabela a seguir descreve as diferenças entre o modo padrão do ossfs (sem cache de dados) e o modo de cache de dados. No modo padrão, recomendamos usar a opção tmpdir para mover o arquivo temporário do diretório /tmp para o diretório do disco de dados. Isso evita que a capacidade do disco do sistema seja ocupada.
|
Modo |
Operação de leitura |
Operação de gravação |
Desempenho |
|
Modo padrão do ossfs (sem cache de dados) |
A cada leitura, o sistema baixa os dados do bucket para um arquivo temporário e, em seguida, os lê a partir dele. O sistema exclua o arquivo temporário ao fechar todos os identificadores de arquivo. |
O sistema gera um arquivo temporário e o exclua somente ao fechar todos os identificadores de arquivo. Gravar muitos arquivos no arquivo temporário consome grande capacidade de disco. Se a capacidade do disco local for insuficiente, o sistema faz o upload das partes do arquivo temporário antecipadamente e exclua o cache. Nesse caso, a velocidade de gravação fica limitada pela velocidade de upload do OSS. |
O desempenho deste modo varia conforme o desempenho do disco e a latência do OSS. |
|
Cache de dados do ossfs |
Na primeira leitura de objetos do bucket, o sistema cria um arquivo no caminho de cache e os armazena nele. Você pode ler os objetos repetidamente a partir desse arquivo. |
O sistema grava os dados primeiro no cache local. Ao atualizar ou fechar um arquivo, o sistema faz o upload dele para o bucket. Se a capacidade do cache local for insuficiente, o ossfs faz o upload das partes do arquivo antecipadamente e exclua o cache. Nesse caso, a velocidade de gravação fica limitada pela velocidade de upload do OSS. |
Se houver cache local, o desempenho deste modo varia conforme o desempenho do disco. Se não houver cache local, o desempenho será igual ao do modo padrão, variando conforme o desempenho do disco e a latência do OSS. |
Opções de configuração
A tabela a seguir descreve os parâmetros configuráveis para o cache de dados do ossfs.
|
Parâmetro |
Descrição |
Valor padrão |
|
use_cache |
ative o cache de dados do ossfs e especifique o caminho do cache. Por padrão, o cache de dados do ossfs fica desativado. Caso você especifique |
Nenhum |
|
ensure_diskfree |
defina a capacidade de disco reservada para evitar que o disco fique totalmente ocupado e afete a gravação de dados de outras aplicações. Por padrão, o sistema não reserva capacidade de disco. Unidade: MB. Para defina a capacidade de disco reservada do ossfs como 1024 MB, especifique |
Nenhum |
|
del_cache |
defina se o sistema exclua o cache local. Por padrão, o sistema não exclua o cache local. Ao especifique |
Nenhum |
|
max_dirty_data |
defina o limiar de tamanho para fazer o upload de um arquivo. Se o tamanho do arquivo for maior que esse valor, o sistema faz o upload mesmo que o arquivo não esteja fechado. Unidade: MB. Para fazer o upload de um arquivo maior que 2.000 MB mesmo quando não estiver fechado, especifique |
5120 |
Mecanismo de gerenciamento de cache de dados
-
No modo de cache de dados do ossfs, o sistema não exclua o arquivo em cache no disco ao fechar o arquivo. Dessa forma, você pode usar o arquivo em cache diretamente em leituras futuras.
-
Se a capacidade do cache for insuficiente, o sistema exclua os dados em cache. Durante as operações de leitura e gravação, o sistema verifica o uso da capacidade do disco. Se a capacidade do disco for insuficiente, o sistema aciona a operação de recuperação de dados. Essa operação é realizada tendo um único arquivo em cache como menor unidade.
Recomendações
-
Se você acessa objetos quentes com frequência, ative o cache de dados do ossfs e configure o caminho do cache. Assim, o sistema obtém os objetos diretamente do cache local durante leituras repetidas. Isso reduz a latência de acesso, carrega rapidamente os objetos acessados com frequência e diminui o número de solicitações ao OSS.
-
Caso o disco onde seu cache está armazenado seja usado por outras aplicações, especifique a opção
ensure_diskfreeao usar o disco. Dessa forma, o sistema reserva uma quantidade específica de capacidade de disco para garantir o funcionamento normal. -
Não ative o cache de dados do ossfs em cenários com gravação ou leitura de dados por vários clientes no ossfs, ou quando um cliente grava dados enquanto vários leem, e a consistência de dados entre os clientes é obrigatória.
-
Com o cache de dados do ossfs ative, o cache deve existir em cenários nos quais um cliente grava dados no ossfs. Para não desperdiçar capacidade de disco, use o ossutil.
-
Em cenários com leitura de objetos grandes de uma só vez, o desempenho do cache é limitado. Portanto, ative o modo de leitura direta para reduzir o uso da capacidade do disco.
-
O desempenho do cache de dados do ossfs varia conforme o desempenho do disco que armazena os dados em cache. selecione discos de alto desempenho, como discos ESSD AutoPL com burst de desempenho ative, discos efêmeros elásticos ou discos locais. Para mais informações, consulte Discos ESSD AutoPL.