A degradação da velocidade é esperada à medida que o número de arquivos acessados simultaneamente aumenta. As unidades de disco rígido não gostam de ser acessadas em paralelo: toda vez que o cabeçote de leitura / gravação precisa trocar de cilindro, você perde vários milissegundos. Mesmo se dois arquivos estiverem no mesmo cilindro, ou mesmo na mesma faixa, talvez seja necessário aguardar uma rotação para passar de um para outro. Se você medir o desempenho da unidade em megabits por segundo, espere que caia exponencialmente à medida que o acesso paralelo aumentar.
fsck
não ajudará nisso: ele apenas repara os danos à estrutura de diretórios, não realiza nenhuma otimização.
A solução ideal seria mudar para o armazenamento em estado sólido, já que isso não tem nenhuma das limitações físicas dos pratos giratórios. Mas isso provavelmente é proibitivo em termos de custos.
O próximo melhor seria usar um RAID otimizado para acesso paralelo. Lembre-se de que os RAIDs podem ser configurados para muitos perfis de desempenho diferentes, portanto, você precisará de um tempo para aprender as configurações de qualquer hardware e driver RAID.
Você pode reduzir o problema usando o cache agressivo do sistema de arquivos. Se o seu sistema tiver RAM suficiente, o Linux já deve estar fazendo isso bastante bem. Execute um programa como top
para ver quanta RAM livre existe. Mas se os arquivos mais usados não couberem na RAM (ou na RAM que você provavelmente adquirirá), isso realmente não ajudará.
Uma solução alternativa para os pobres seria dividir seus arquivos em vários discos rígidos físicos diferentes (não apenas em partições diferentes na mesma unidade). Essa não é realmente uma solução escalável de longo prazo e acabaria custando mais do que um RAID decente. Mas pode ser uma solução rápida se você tiver unidades por aí.
Para qualquer solução que envolva unidades de disco rígido, verifique se elas têm uma velocidade de rotação rápida e baixa latência de busca.
Escrevi um artigo com algumas informações gerais sobre o desempenho do disco rígido aqui:
Dicas do UNIX - Sistemas de arquivos