Longo atraso até que uma pasta apareça ao acessar o compartilhamento de arquivos do Windows

1

Temos um aplicativo que cria uma pasta com arquivos em uma máquina remota e um script python que procura por essas pastas de uma máquina local usando seu nome UNC completo e responde de acordo (por exemplo, o script procura a pasta \remote-host\D$\our_cool_application_output_folder de um host local).

Há um atraso significativo (em torno de 5 segundos) da aparência real dessa pasta na máquina remota até que o script possa vê-la. Dói o desempenho da nossa aplicação. Durante o atraso, o script tenta acessar repetidamente essa pasta (4 vezes por segundo) até obter êxito.

Existe alguma maneira de permitir que a máquina local veja a pasta remota mais rapidamente? Existe uma maneira de reduzir esse "tempo de atualização" para alguns milissegundos?

    
por Alex Shtof 05.08.2012 / 09:09

1 resposta

0

Em vez de verificar o arquivo repetidamente, peça ao Windows para notificá-lo assim que ele chegar usando FindFirstChangeNotification . Ao verificar o arquivo repetidamente, você força a ausência do arquivo no cache, evitando que o arquivo seja notado.

O Windows só verificará com frequência e o redirecionador terá um cache. A pior coisa que você pode fazer é pedir um arquivo antes de aparecer. Isso garante que você tenha que esperar todo o intervalo de validade do cache negativo para localizar o arquivo.

Você pode desativar alguns desses caches, mas o desempenho da E / S de arquivos em massa sofrerá muito. Realmente, você não deveria usar arquivos dessa maneira.

    
por 05.08.2012 / 11:17

Tags