Acelerar listagem de diretórios no compartilhamento de rede do Windows

2

Estou usando um software que verifica regularmente milhares de arquivos (provavelmente o nome e o horário da modificação). Isso leva um bom tempo desde que os arquivos são acessados através de um compartilhamento de rede. Ambas as máquinas executam o Windows XP SP3. Existem alguns ajustes simples e confiáveis para acelerar a verificação de diretório?

    
por VolkerK 06.08.2009 / 17:17

4 respostas

1

Se você estiver trabalhando com diretórios que contenham centenas ou milhares de arquivos ou subdiretórios (ou mesmo algumas dezenas de arquivos por diretório, todos com nomes semelhantes), provavelmente você estará colidindo com os nomes de arquivos compatíveis com 8.3 do DOS. Há um artigo da Microsoft com instruções sobre como melhorar o desempenho da enumeração de diretórios desabilitando a criação do nome de arquivo 8.3 .

Você também pode desativar o último carimbo de data / hora acessado para melhorar o desempenho. Há uma pequena chance de que isso possa causar problemas em outros programas, mas se você notar problemas, poderá reativar facilmente o registro de data e hora do Último Acesso.

Você pode conseguir aplicar essas alterações apenas na máquina que hospeda o compartilhamento de rede, mas pode aplicar as alterações nas duas máquinas apenas para garantir a segurança.

Se você estiver executando um programa antivírus em ambas as máquinas, tente desativar a verificação no acesso temporariamente nas duas máquinas para ver se isso melhora o desempenho. Na minha experiência, o antivírus da McAfee causa um impacto insano no desempenho toda vez que você toca em um arquivo, mas alguns outros aplicativos antivírus (como CA e Avast) não parecem ter um impacto tão grande quanto o desempenho, mesmo com a verificação no acesso ativada. A maioria dos programas antivírus permite que você especifique diretórios a serem excluídos da verificação no acesso.

    
por 08.12.2009 / 01:41
1

Algumas ideias vêm imediatamente à mente:

  • Veja se é possível armazenar em cache os dados do arquivo localmente, dentro do seu aplicativo. Dessa forma, só teria que fazer a varredura uma vez.

  • Atualize a velocidade da sua rede. As placas PCI Gigabit ethernet custam entre 30 e 40 dólares na minha área. Se você quer um roteador, isso é outro $ 100. No entanto, se for apenas um outro computador, você pode usar um cabo ethernet cat6 crossover (P2P) cat6 entre os dois.

  • A lentidão também pode ser uma função da velocidade dos dois computadores em questão. CPUs? Quantidade e velocidade de memória? Qual modelo de discos rígidos?

por 18.08.2009 / 18:00
0

Acessar arquivos pela rede sempre será mais lento do que se você acessasse um disco local. Você pode aumentar o desempenho da verificação se configurá-la para executar a verificação localmente. Sempre que você começar a puxar arquivos pela rede, começará a perceber esses tipos de lentidão devido ao número de arquivos que estão sendo acessados.

Se você executar a mesma varredura remotamente, terá que configurar a conexão para transferir / acessar cada arquivo, e é por isso que provavelmente é muito lento.

É possível ajustar o protocolo que você está usando para acessar os arquivos, mas você verá resultados muito mais impressionantes apenas movendo o processo para uma varredura local versus uma varredura de rede.

Algo a se observar aqui, muitas soluções de backup de classe empresarial também incluem um componente instalado localmente que serve a esse mesmo propósito. Os arquivos podem ser transferidos em um push versus um pull na rede, o que é uma melhoria significativa.

    
por 06.08.2009 / 17:27
0

Eu tenho um problema semelhante. Eu estava pensando em executar um servidor FTP na máquina remota e mapear um mapeamento da unidade FTP. Eu não tentei ainda, mas aposto que seria melhor desempenho. Se não, então eu só poderia usar um cliente de FTP para acessá-lo e apenas abandonar o mapeamento de unidade de microsoft completamente. Eu ia usar NULL Ftp Server para experimentar o cenário.

    
por 08.12.2009 / 02:30