Windows / NTFS - é possível medir o tempo de conclusão das operações de arquivo?

8

Estou procurando a possibilidade de medir quanto tempo leva para concluir a operação de arquivo emitida para o driver NTFS (abrir arquivo fechar arquivo excluir arquivo, gravar, ler etc.) e poder registrá-lo. Não consigo alterar o aplicativo para medir o tempo dentro do aplicativo. Estou interessado em quanto tempo passa entre a emissão de uma chamada e o retorno à execução do aplicativo.

O aplicativo está gravando continuamente no volume NTFS colocado no armazenamento iSCSI. Ele também remove rotineiramente os arquivos mais antigos. Os tamanhos dos arquivos estão entre 100 e 200 MB. Sempre há cerca de 10% de espaço livre no volume. Em algum momento, o aplicativo não consegue gravar dados em ritmo regular e, portanto, começa a armazenar em buffer na memória. Então, algo acontece e o buffer começa a esvaziar e tudo volta ao normal.

Testei para operações de E / S em volumes físicos e lógicos - não vejo anomalias durante a "interrupção"

Agora, quero descobrir se o problema está no aplicativo ou em algum lugar do SO. Por esse motivo, eu estava pensando se sou capaz de registrar todos os tempos de operações de arquivo, poderei descobrir se é um sistema que leva mais tempo do que o normal ou se as operações são rápidas e se algo bloqueia o aplicativo.

A plataforma é Windows Server 2008R2 de 64 bits. Eu tentei o sysinternals process monitor, mas ele não registra o tempo de execução. Pode demorar algumas horas para o problema aparecer.

Você pode sugerir a ferramenta certa para este trabalho?

Mariusz Zieliński
fonte
Talvez você ache o DiskMon útil.
Vlastimil Ovčáčík 7/11

Respostas:

4

Contrate alguém para escrever um driver de filtro monolítico ou mini filtro para o sistema de arquivos. Você poderá interceptar todas as chamadas de aplicativos específicos de seu interesse e rastreá-las diretamente no NTFS ou em qualquer outro ponto de entrada do driver FS. O OSR tinha algum kit de interceptação de dados (?) Ou o que quer que fosse, também pode ser útil.

https://www.osr.com/dmk/

BaronSamedi1958
fonte
1
Obrigado pela sugestão, mas isso levaria muito tempo. Surpreende-me que a maioria das ferramentas se concentre apenas na análise de eventos de curto prazo em tempo real e raramente permita que você registre informações. Apenas confiável * que encontrei, encontrei no sistema e é o Monitor de Desempenho. Meu plano é tentar correlacionar vários contadores na esperança de encontrar algum padrão. *) Que parece trabalho
Mariusz Zieliński