O armazenamento de 300k arquivos em uma pasta pode causar problemas?

1

Estou rastreando um site grande (mais de 200 mil páginas) usando o wget (existe uma ferramenta melhor?). O Wget está salvando todos os arquivos em um diretório.

A partição é HFS (eu acho), isso causará problemas se eu tiver todos os arquivos em um diretório? Supondo que eu acesse todos eles apenas a partir do console (eu sei que o Finder tem problemas com arquivos dirs > 5k).

Ou talvez haja uma maneira de criar uma micro partição que seria compactada e permitiria um acesso rápido e otimizado a essa quantidade de arquivos?

    
por kolinko 12.04.2011 / 15:08

2 respostas

1

Apesar da viabilidade do sistema de arquivos subjacente, você REALMENTE NUNCA deve armazenar tantos arquivos em um diretório. Quando chega a hora de procurar o conteúdo desse diretório, você vai descobrir rapidamente que há uma enorme quantidade de atraso, enquanto o sistema operacional tenta construir a listagem de arquivos e tal. Isso realmente coloca uma quantidade significativa de tensão no sistema.

A maioria das ferramentas que fazem qualquer tipo de "arquivamento na Web" geralmente cria uma estrutura de diretórios semelhante ao layout do site. Quase todos os sites não baseiam todos os seus conteúdos fora do diretório raiz ... ou seja, mydomain.com/document-1 ... eles terão alguma logística por trás disso tudo que o dividiu em vários caminhos (por uma variedade de razões) ou seja, imagens em mydomain.com/images e outras coisas sobre goldfish estão em mydomain.com/goldfish/ etc ...

Existem várias ferramentas que podem & vai construir esse tipo de estrutura de diretórios para você. Mesmo o wget tem opções para baixar um site inteiro. Pessoalmente, eu usei " httrack " no passado, e funcionou muito bem. Há também opções de linha de comando para o wget fazer o download de um site inteiro também. Olhe para a opção -r (recursiva). Apenas certifique-se de configurar sua lista de domínios para que você não baixe links infinitamente em vários sites. Melhor fazer algumas pesquisas na página de manual do wget .

    
por 12.04.2011 / 16:08
-1

Wikipedia indica que o HFS tem um limite de arquivo de 65535. Então, se sua partição é de fato HFS, você vai bater isso.

Da Wikipedia:

Additionally, the limit of 65,535 allocation blocks resulted in files having a "minimum" size equivalent 1/65,535th the size of the disk. Thus, any given volume, no matter its size, could only store a maximum of 65,535 files. Moreover, any file would be allocated more space than it actually needed, up to the allocation block size. When disks were small, this was of little consequence, because the individual allocation block size was trivial, but as disks started to approach the 1 GB mark, the smallest amount of space that any file could occupy (a single allocation block) became excessively large, wasting significant amounts of disk space. For example, on a 1 GB disk, the allocation block size under HFS is 16 KB, so even a 1 byte file would take up 16 KB of disk space. This situation was less of a problem for users having large files (such as pictures, databases or audio) because these larger files wasted less space as a percentage of their file size. Users with many small files, on the other hand, could lose a copious amount of space due to large allocation block size. This made partitioning disks into smaller logical volumes very appealing for Mac users, because small documents stored on a smaller volume would take up much less space than if they resided on a large partition. The same problem existed in the FAT16 file system.

    
por 12.04.2011 / 15:15