Библиотека Java JCIFS, производительность чтения файла зависит от системы

Используя библиотеку Java JCIFS, я пытаюсь прочитать файлы из удаленной системы, используя протокол блока сообщений сервера (SMB), как показано ниже:

SmbFile smbFileTest = new SmbFile(fileurl, authentication); //Takes 20sec
SmbFileInputStream input = new SmbFileInputStream(smbFileTest);
byte[] data = new byte[length];
int count = input.read(data); 

Я наблюдаю, что производительность чтения варьируется от системы к системе. В какой-то системе я читаю файл размером 135 Мб за 2/3 секунды, а в какой-то другой системе за 15/20 минут.

Вся среда имеет Windows 2012 Server R2, и все они работают в одной сети. Не могли бы вы сообщить мне, если какие-либо другие настройки влияют на производительность.


person Lokanath Nayak    schedule 01.10.2017    source источник
comment
другое сетевое подключение? Wi-Fi против Ethernet-кабеля? Хотя 15 минут на 135 МБ крайне медленно.   -  person cello    schedule 01.10.2017
comment
Я бы не стал использовать JCIFS для доступа к серверу, похоже, он поддерживает только небезопасный и вымирающий вариант SMBv1 (см. -smb3-share-from-java" title="доступ к общему ресурсу smb2 1 или smb3 из java">stackoverflow.com/questions/41494357/).   -  person JMax    schedule 01.10.2017
comment
мне нужно сделать некоторые уколы, вы можете предложить   -  person Lokanath Nayak    schedule 02.10.2017


Ответы (1)


Может проблема в КЭШЕ? когда кеш заполнен, он становится узким местом. Пробовали ли вы другие проекты, кроме jCifs? Кстати, эта проблема производительности одинакова с ftp или любым другим протоколом Ethernet/Internet?

person Eliad Cohen    schedule 03.10.2017