nina4ever Ответов: 1

Эффект удаленного манипулирования файлами в локальной сети


привет

мне нужно скопировать многостраничные файлы (tiff) в удаленное хранилище NAS и разделить каждый tiff на отдельные изображения.

код выполняется как настольное приложение C# на компьютере, находящемся в той же локальной сети, что и хранилище NAS

Я получаю доступ к удаленному хранилищу с помощью класса NetworkConnection с учетными данными, я использовал этот класс:

https://gist.github.com/AlanBarber/92db36339a129b94b7dd

мой вопрос таков :

что лучше и меньше влияет на сетевой трафик ? сначала разбить файл (tiff) на изображения, а затем скопировать эти изображения в удаленное хранилище? или сначала сделать копию, а потом расщепление?

Что я уже пробовал:

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

поэтому я изменил код, чтобы сначала выполнить разделение, а затем копирование, но пользователи не заметили улучшения производительности


а ты как думаешь?

1 Ответов

Рейтинг:
4

Dave Kreskowiak

Наименьший объем трафика будет связан с локальным копированием файла, разделением его на отдельные файлы, а затем копированием разделенных файлов обратно на NAS.

Это никоим образом не означает, что вы получите лучшую производительность, но только минимальный трафик.


nina4ever

у меня уже есть файлы на локальном компьютере. Итак, вы голосуете за разделение, а затем копирование.

но что вы имеете в виду, что я не получу лучшей производительности? разве меньший трафик не означает более быструю обработку файлов?

Dave Kreskowiak

Копируя файл на NAS, а затем разделяя его, вы фактически добавляете дополнительные поездки туда и обратно к NAS без необходимости.

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

Выполняйте подобные операции локально, минимизируя трафик в сети.

Вам придется профилировать код, используемый для выполнения разделения, чтобы найти, где будет узкое место этого процесса.

Я не могу сказать вам, где будет проблема, потому что я ничего не знаю о коде, который разделяет файл.

Имейте в виду, что вы не сможете добиться от этого лучшей производительности!

nina4ever

Огромное спасибо!