Como a complexidade do diretório influencia os i-nodes?

2

Para um único projeto, que usa muitas imagens (± 1k-3k por dia), eu uso script PHP personalizado para processar imagens e salvá-las no servidor.

O script PHP atual os processa e salva na seguinte estrutura de pastas: Portanto, o máximo de lvl é 5. Mas, atualmente, penso em como a influência da estrutura de diretório a seguir nos inodes é importante? Devo colocar o lvl em 2 ou 3?

    
por Jevgeni Smirnov 05.04.2012 / 15:46

2 respostas

3

Toda entrada de diretório também é uma entrada de inode.

16 ** 5 = 1.048.576

16 ** 3 = 4,096

Um ano de imagens ... 2.000 * 365 = 730.000.

Isso lhe dará aproximadamente 178 por diretório com uma profundidade de 2. Com uma profundidade de 5, pouco mais de metade da utilização. Três soam bem para mim . Talvez se você estiver nisso por uma década eu vou para 4.

    
por 05.04.2012 / 15:52
1

Cada arquivo e diretório usa um inode, mas não acho que você esteja correndo o risco de esgotar inodes em um sistema de arquivos de tamanho decente - com 5 níveis de profundidade, sua árvore de diretórios estará ocupando 16^5 ou 1048576 inodes, o que é um número razoável, mas provavelmente não sobrecarregará o seu sistema de arquivos. Por outro lado, o número de arquivos armazenados pode causar alguns problemas ...

É um pouco cansativo usar somente um dígito hexadecimal por nível, no entanto - eu costumo ir para três dígitos por nível (então ab3/4f5/5e1/... ) já que isso coloca 4096 diretórios em cada nível, o que está bem dentro do reino de desempenho sensato de um sistema de arquivos decente (não vá para 4, já que o extN só permite 32000 subdiretórios em um único diretório).

Então, é claro, há todo o mundo dos sistemas de arquivos sem limites de inode fixos, e melhor desempenho em face do grande número de arquivos por diretório, e nenhum limite no número de subdiretórios ...

    
por 05.04.2012 / 15:56