Windows / NTFS - можно ли измерить время завершения файловых операций?

8

Я ищу возможность измерить, сколько времени требуется, чтобы завершить файловую операцию, выданную драйверу NTFS (открыть файл, закрыть файл, удалить файл, записать, прочитать и т. Д.), И иметь возможность войти в него. Я не могу изменить приложение, чтобы измерить время внутри приложения. Меня интересует, сколько времени проходит между выполнением вызова и возвратом к выполнению приложения.

Приложение непрерывно записывает на том NTFS, помещенный в хранилище iSCSI. Также регулярно удаляются самые старые файлы. Размер файла составляет от 100 до 200 МБ. На томе всегда есть около 10% свободного места. В какой-то момент приложение не может записывать данные в обычном темпе, поэтому оно начинает буферизоваться в памяти. Затем что-то происходит, и буфер начинает очищаться, и все возвращается в норму.

Я проверил операции ввода-вывода как на физическом, так и на логическом томах - я не вижу никаких аномалий во время «отключения»

Теперь я хочу выяснить, есть ли проблема в приложении или где-то в ОС. По этой причине я думал, что если мне удастся зарегистрировать все тайминги файловых операций, я смогу выяснить, если это система, которая занимает больше времени, чем обычно, или операции выполняются быстро и что-то блокируется внутри приложения.

Платформа является 64-битной Windows Server 2008R2. Я попытался монитор процесса sysinternals, но он не регистрирует время выполнения. Проблема может появиться через несколько часов.

Можете ли вы предложить правильный инструмент для этой работы?

Мариуш Зелиньски
источник
Может быть, вы найдете DiskMon полезным.
Властимил Овчачик

Ответы:

4

Наймите кого-нибудь, чтобы написать либо монолитный, либо мини-драйвер фильтра для файловой системы. Вы сможете перехватывать все вызовы из конкретного интересующего приложения и отслеживать их прямо в NTFS или любых других точках входа драйвера FS. У OSR был какой-то набор для перехвата данных (?) Или что-то еще, что могло пригодиться

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

BaronSamedi1958
источник
1
Спасибо за предложение, но это займет слишком много времени. Я удивлен, что большинство инструментов ориентированы на краткосрочный анализ только событий в реальном времени и редко позволяют регистрировать информацию. Единственный надежный * тот, который я нашел, я нашел в системе, и это Performance Monitor. Мой план состоит в том, чтобы попытаться сопоставить несколько счетчиков в надежде найти какой-либо шаблон. *) тот, который, кажется, работает
Mariusz Zieliński