Qual é a quantidade máxima de arquivos para colocar em uma pasta para desempenho?

1

Eu li no passado que é uma boa prática / desempenho limitar a quantidade de arquivos que você colocou em cada pasta, neste caso são as fotos enviadas pelo usuário,

Meu site tem cerca de 1.000.000 de fotos de usuários até agora e cresce diariamente, então eu estruturo as pastas nas quais as fotos são salvas para 9/8/5, então coloca X quantidade de fotos por pasta e começa a colocar em uma nova pasta.

Eu sei que não é um grande problema de desempenho, mas acredito que muitos arquivos prejudicam o tempo de busca

Estou querendo saber o que é uma boa quantidade de arquivos para limitar uma pasta?

    
por JasonDavis 06.08.2009 / 16:20

5 respostas

1

Semelhante a esta pergunta .

    
por 06.08.2009 / 16:25
3

Eu pessoalmente não me preocuparia muito com isso, mas eu pessoalmente alteraria o sistema de arquivos para ser armazenado em um formato de data.

Como 2009/08/06.

Isso reduzirá sua quantidade diária, pelo menos mantendo-a organizada, mas sua quantia anual não mudará.

Eu nunca me importei com a quantia que coloquei em uma pasta, apenas mantenho as coisas organizadas.

    
por 06.08.2009 / 16:24
1

Em sistemas de arquivos ext3, você pode ter aproximadamente 32000 subdiretórios em um diretório :

For ext2 and ext3 the hard limit is 31998 due to EXT[23]_LINK_MAX being 32000 and each of those subdirectories (folders) has a link back to its parent, which began life with a link count of 2.

The limit for decent performance would likely be quite a bit less.

Além disso, estruturar seus dados para evitar atingir esses limites traz outros benefícios, por exemplo, facilita a divisão de um grande armazenamento de dados em vários volumes ou até mesmo servidores.

    
por 06.08.2009 / 16:32
0

Em algum momento, você vai querer considerar olhar MogileFS para armazenar seus arquivos. Então você não precisa se preocupar com os limites do sistema de arquivos, obtém replicação quase automática e é rápido. Eu não posso dizer com certeza se você está no ponto com um milhão de fotos, mas vale a pena olhar. Pode ser mais fácil, em qualquer caso, do que rolar sua própria solução apenas para lidar com os limites do sistema de arquivos.

    
por 06.08.2009 / 21:45
0

Eu geralmente divido, então há 10000 arquivos por pasta. É bastante fácil se você tiver algum tipo de identificador numérico para seus arquivos.

Por exemplo, se você estiver usando um arquivo com identificador = 9876543, poderá usar o seguinte processo:

  • Formata o número com 12 dígitos (000009876543)
  • Usa os oito primeiros dígitos como um identificador de pasta (0000/0987)
  • Salve o arquivo como (0000/0987 / myfile.jpg)

Enquanto a maioria dos sistemas de arquivos permite que você mantenha mais arquivos em uma única pasta, isso torna as coisas mais organizadas, será mais fácil se você precisar dividir em vários volumes e, se estiver usando o Windows, também O Explorer não irá congelar a tentativa de ler arquivos 1M. :)

    
por 06.08.2009 / 21:55