Назад | Перейти на главную страницу

отслеживать и протоколировать скорость работы программы с сетевыми файлами

Мы используем программу CAD на нескольких компьютерах в сети. Все файлы и проекты хранятся в сетевом хранилище.

Пользователи жалуются на долгое время ожидания при открытии и сохранении в сети.

Мы (ИТ-отдел) предполагаем другие проблемы, кроме чистой задержки в сети. Но, конечно, мы думаем о программе для отслеживания и регистрации времени открытия и закрытия проектов САПР.

Может, у вас есть идеи, как достичь этой цели ?!

Наша первая идея заключалась в том, чтобы регистрировать время начала и окончания сетевого «потока». Но как мы можем определить, когда начинается и заканчивается процесс открытия файла (ов)?

Некоторые примечания:

Любая помощь приветствуется :-)

Спасибо @joeqwerty за подсказку с программой захвата пакетов.

Теперь мы используем https://www.wireshark.org/ и он очень хорошо работает с фильтром smb2: https://wiki.wireshark.org/SMB2

Мы используем эти фильтры:

  • не показывать широковещательный трафик: !(eth.addr == ff:ff:ff:ff:ff:ff)
  • получать трафик только между клиентом и сервером: ip.addr == _server-ip_ || ip.addr == _client-ip_
  • Флаги протокола smb2: smb2.create_flags || smb2.create.rep_flags || smb2.close.flags
  • показывать только папки САПР: smb2.filename contains "_foldername_"

Итак, все вместе фильтр:

!(eth.addr == ff:ff:ff:ff:ff:ff) && (ip.addr == _server-ip_ || ip.addr == _client-ip_) && (smb2.create_flags || smb2.create.rep_flags || smb2.close.flags || smb2.filename contains "_foldername_")

с помощью этого фильтра мы теперь можем видеть начальный и конечный запрос всех файлов в папке CAD. с соответствующими отметками времени мы можем вычислить, сколько времени потребуется, чтобы открыть весь файл со всеми суб-файлами.

не такой автоматический, как мы хотели, но это хороший подход ИМХО. Может быть, в далеком будущем у нас будет время автоматизировать измерение времени с помощью куска java-кода и библиотеки jnetpcap ...