Como você supõe, isso depende de muitas coisas, principalmente do tipo e das opções do sistema de arquivos e até certo ponto da versão do kernel. Na série ext2 / ext3 / ext4, houve uma grande melhoria quando a opção dir_index
apareceu (algum tempo após o lançamento inicial do ext3): ela torna os diretórios armazenados como árvores de pesquisa (acesso logarítmico de tempo) em vez de listas lineares ( acesso linear ao tempo). Isso não é algo que você pode ver através do NFS, mas se você tiver algum contato com os administradores, você pode pedir que eles executem tune2fs -l /dev/something |grep features
(talvez até convencê-los a atualizar?). Apenas o número de arquivos é importante, não seu tamanho.
Mesmo com dir_index
, 100000 parece grande. O ideal é obter os autores do programa que cria os arquivos para adicionar um nível de subdiretórios. Para nenhuma degradação de desempenho, eu recomendaria um limite de aproximadamente 1000 arquivos por diretório para ext2 ou ext3 sem dir_index
e 20000 com dir_index
ou reiserfs. Se você não pode controlar como os arquivos são criados, mova-os para diretórios separados antes de fazer qualquer outra coisa.