Ну, для начала, 2000 - это , а не несколько. Если это занимает большую часть времени из-за того, что вы отправляете много маленьких файлов, то вы придумали решение, которое упаковывает их в источнике в один файл и распаковывает их в месте назначения. Для этого потребуется некоторый код, работающий в исходном коде - вам нужно будет спроектировать свое решение, чтобы разрешить это, поскольку, как я полагаю, в данный момент вы просто копируете из общего сетевого ресурса.
Если это скорость сети (маловероятно), вы также сжимаете их.
Мое собственное убеждение состоит в том, что это будет количество файлов, в основном все повторяющиеся затраты на запуск копии. Это связано с тем, что 2000 файлов размером 30 КБ занимают всего 60 МБ, а для ссылки 10 МБ теоретическое минимальное время составляет около минуты.
Если ваши времена значительно выше этого, я бы сказал, что я прав.
Решение, использующее 7zip или подобное для сжатия их всех в один 7z
файл, передачи их, а затем разархивирования на другом конце звучит так, как вы ищете.
Но измерить, не угадай! Проверьте это, чтобы видеть, улучшает ли это производительность. Тогда прими решение.