Estrutura de diretórios ideal para manter milhões de arquivos em um sistema ext4

2

Eu preciso manter milhões de arquivos em um sistema ext4.
Eu entendo que ter uma estrutura com vários subdiretórios é a solução geral aceita. Gostaria de saber qual seria a abordagem ideal em termos de número de diretórios / subdiretórios.
Por exemplo eu tentei uma estrutura como 16/16/16/16 (isto é, (sub) diretórios de 1 a 16) e descobri que eu sou capaz de mover arquivos de 100K para essa estrutura em 2m50s. Ao tentar mover arquivos de 100K para uma estrutura de 8/8/8/8/8/8, levou 11 minutos. Portanto, a abordagem 16/16/16/16 parece ser melhor, mas eu queria saber se alguém tem alguma experiência empírica com uma distribuição ainda melhor de subdiretórios.

    
por Alex Flo 15.10.2012 / 11:25

2 respostas

0

Depois de muitos testes, descobri que uma solução que funciona para mim é só encontrar e espero que ajude os outros também:
Eu criei uma estrutura dir 255/255 e, em seguida, usei o ramdisk (/ dev / shm) para criar rapidamente os diretórios e, em seguida, salve os arquivos dentro deles. Então, uma vez a cada minuto, movo os arquivos para o HDD.
Usando essa abordagem reduziu o tempo para salvar arquivos de 100K em diretórios 255/255 de cerca de 5 minutos para cerca de 5 segundos.

    
por 01.11.2012 / 12:19
2

1) O XFS agora é a melhor opção do que o EXT4 .

2) Mesmo 1024 por entradas de diretório devem estar bem, então você pode apropriadamente reduzir o nível de profundidade de subdiretórios.

    
por 15.10.2012 / 11:42