Esta página fornece orientações sobre como pode otimizar o desempenho em contentores com o espaço de nomes hierárquico ativado.
Listar objetos
Seguem-se as considerações de desempenho para objetos de fichas:
- Em contentores com o espaço de nomes hierárquico ativado, a listagem de todos os objetos para o contentor inteiro ou com um prefixo requer muitos recursos, uma vez que a operação tem de percorrer cada pasta e subpasta, de forma semelhante ao comando
ls -r
num sistema de ficheiros. Consequentemente, se existirem mais pastas no seu contentor, a listagem de objetos é mais lenta. Um grande número de pastas vazias também pode afetar negativamente o desempenho da listagem de objetos. Para evitar um impacto negativo no desempenho, recomendamos que maximize o número de objetos em cada pasta e elimine regularmente as pastas vazias. - A listagem ou a obtenção de objetos e subpastas numa pasta específica através de um delimitador e um prefixo específico é mais eficiente em contentores com o espaço de nomes hierárquico ativado, uma vez que os objetos estão organizados numa estrutura de pastas. Para otimizar o desempenho da ficha quando usar um delimitador e um prefixo específico, defina o parâmetro
includeFoldersAsPrefixes
. Caso contrário, o Cloud Storage realiza verificações adicionais para excluir pastas vazias, o que pode tornar a operação mais lenta. Para mais informações sobre a utilização doincludeFoldersAsPrefixes
ao listar objetos, consulte o artigo Listar objetos.
Gestão de pastas
Para uma gestão eficiente de pastas, recomendamos o seguinte:
- Pré-crie a estrutura de pastas: em vez de depender da criação automática de pastas durante as operações de carregamento, reescrita e composição de objetos, use a operação de criação de pastas para obter antecipadamente a estrutura de pastas pretendida. A pré-criação da estrutura de pastas melhora a consistência e a previsibilidade do desempenho.
- Maximizar a proporção de objetos por pasta: procure uma proporção de objetos por pasta elevada, uma vez que reduz a sobrecarga associada à criação e gestão de pastas.
- Limite os pedidos de criação e eliminação de pastas: a criação ou a eliminação de pastas requer mais recursos do que trabalhar com objetos individuais devido à sua natureza hierárquica. Para garantir um desempenho sem problemas, o Cloud Storage limita estas operações a 1000 pedidos por segundo para cada contentor. Os pedidos que excedam este limite não são explicitamente restritos, mas a disponibilidade de recursos determina se podem ser processados com êxito.
- Elimine regularmente pastas vazias: as pastas vazias podem acumular-se, especialmente quando usa a gestão do ciclo de vida de objetos ou elimina objetos sem eliminar explicitamente as respetivas pastas principais. As pastas acumuladas podem afetar o desempenho da operação de listagem de objetos e outras operações relacionadas com pastas. Seguem-se alguns dos métodos que pode usar para eliminar pastas vazias:
- Quando usa o Cloud Storage FUSE ou o conetor do Cloud Storage para interagir com um contentor ativado com o espaço de nomes hierárquico, a eliminação de um diretório elimina a pasta correspondente no seu contentor.
- Pode usar uma eliminação recursiva para eliminar pastas automaticamente quando usa a consola ou a CLI Google Cloud. Google Cloud
- Pode usar o script
delete_empty_folders.py
para eliminar periodicamente pastas vazias através do processamento paralelo. O script oferece uma opção para segmentar um prefixo do caminho de pasta específico, o que permite que o script elimine pastas numa subestrutura do diretório do contentor. Além disso, o script elimina todas as pastas vazias (criadas implícita ou explicitamente), incluindo as pastas geridas e as respetivas políticas de IAM associadas. Para ver detalhes sobre como usar o script, consulte o README no GitHub.