Qualquer coisa com um monte de arquivos pequenos será lenta via NFS vs. um sistema de arquivos local.
Primeiro, você poderia começar a procurar ajustar suas opções de NFS. Eu encontrei alguns desses recursos:
O artigo da IBM é particularmente importante, pois você ajusta as configurações disponíveis nos clientes que você pode usar nfsstat
no servidor para ver o que está acontecendo.
Outras opções para analisar:
Uma coisa que você pode considerar é o cache de suas montagens NFS: Como posso armazenar em cache compartilhamentos NFS em um disco local?
Como isso requer mudanças no lado do cliente (você não precisa tocar no servidor), você pode querer pegar um nó, montá-lo com o cache ativado e fazer algumas execuções de algumas compilações para ver se melhora a situação.
Uma coisa que fiz nessa situação ao implantar grandes sistemas NFS / home é fornecer algum espaço nas máquinas cliente que estão no disco local para os usuários usarem para tarefas intensivas de E / S, como /var/$username
, mas dependendo dos seus requisitos de espaço que podem não ser uma opção para você.
Advertências
Parece que você está puxando e compilando através dos lares do NFS, quando eu fiz isso em uma universidade onde a situação é "Ok, todos nessa classe de 50 pessoas, peguem esta fonte e digam make!" isso pode esmagar totalmente a capacidade de resposta de uma máquina, dependendo do que as pessoas estão construindo. Você vai querer experimentar suas configurações de NFS e medir o desempenho para extrair o máximo que puder.