Depth Optimal Directory vs número de arquivos em um diretório para ext3?

2

Para acessar arquivos no ext3 e (se dir_index não estiver sendo usado) qual é a profundidade ideal do diretório em relação ao número de arquivos por diretório? O tamanho do arquivo afeta isso? O número total de arquivos pode ser um fator, mas ainda deve haver uma equação que eu acho ...

Se você não tem os benchmarks para fazer o backup, eu ainda estaria interessado no que você acha que poderia ser ideal e por quê? Talvez algumas chamadas de sistema demorem mais, ou talvez o conhecimento de ciência de seu computador sugira qual pode ser a resposta. Ou, se você tiver exemplos de outros sistemas de arquivos que podem ser muito interessantes também, mas quero saber qual é a resposta sem ter um mecanismo de indexação separado, como a opção dir_index tune2fs.

Eu vi essa pergunta dançada ao redor, imaginei a resposta, mas nunca a encontrei. Neste ponto, praticamente um banco de dados muito bem pode ser a resposta. No entanto, ainda quero saber qual seria a resposta para o sistema de arquivos.

    
por Kyle Brandt 04.08.2009 / 14:03

1 resposta

2

To access files on ext3, and (if dir_index is not being used) what is the optimal directory depth vs the number of files per directory?

Você desejará executar seus próprios testes de desempenho para isso.

Does file size effect this? The total number of files might be a factor, but there still should be an equation I think...

O tamanho do arquivo não afeta isso, esta é uma função relacionada ao número de entradas do cabeçalho do arquivo para qualquer sistema de arquivos que você esteja usando.

If you don't have the benchmarks to back it up, I would still be interested in what you think might be optimal and why?

32.000 arquivos é praticamente o limite superior, mas a partir da minha própria experiência empírica, sugiro menos de 10.000 arquivos, a menos que você queira esperar um ou dois minutos. Alguns milhares podem ser feitos em cerca de 5 a 20 segundos, dependendo da carga de I / O e do servidor, etc. Algumas centenas, quase instantaneamente.

Edição de acompanhamento (para comentário postado):

Ter 8 diretórios de 2.500 arquivos cada um é longe melhor do que ter dois diretórios de 10.000 arquivos cada. O segredo está em reduzir o tempo de busca em cada diretório.

Por incrível que pareça, eu acabei de postar uma resposta semelhante a uma pergunta semelhante aqui .

    
por 04.08.2009 / 15:28