Вопрос Почему Samba Access из Windows настолько медленный?


Я установил файловый сервер с помощью Ubuntu 12.04 Server. Целью является обслуживание нескольких сетевых дисков для пользователей Windows, которые до сих пор обслуживались многочисленными дисками NAS.

Я создал Samba с одной долей, определенной до сих пор. Я могу подключиться к нему с моих тестовых машин Windows 7 и Windows XP.

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

Я использовал стандартный smb.conf по умолчанию и просто добавил следующее для той долей, которую я создал до сих пор:

[engineering]
comment = Ubuntu File Server Share
path = /networkdriveshares/engineering
browsable = yes
guest ok = yes
read only = no
create mask = 0755

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

Единственное другое изменение, которое я сделал для smb.conf по умолчанию, заключалось в добавлении рекомендуемых настроек сокета:

     SO_RCVBUF=8192 SO_SNDBUF=8192
     socket options = TCP_NODELAY

Много информации о медленных сайтах Samba в Интернете, но я пробовал все решения, которые я нашел, и ни один из них не лизал разницу. Если нет решения, есть ли лучший способ настроить файловый сервер, который будет использоваться клиентами Windows?


5
2018-06-07 21:05


происхождения


Сколько оперативной памяти имеет сервер? Я обнаружил, что вы можете исчерпывать низкие RAM-серверы при просмотре большого количества файлов или копировании больших файлов с / на сервер Samba. - brousch
Еще одна вещь, на которую нужно обратить внимание - это каталоги с кучей изображений. Если вы используете эскиз в Windows Explorer, он попытается создать миниатюру для каждого изображения. - brousch
Сервер имеет 8 ГБ оперативной памяти. И я только установил одну акцию, и у нее нет изображений, о которых можно говорить в корневой папке. Просто получение списка каталогов занимает навсегда и больше, чем нет, время. Если я перехожу в каталог с несколькими файлами, скорость кажется прекрасной. - swalker2001
Одна из последних проблем, с которыми я столкнулся, - это каталог с большим количеством исполняемых файлов, таких как установщики программ Windows. Проблема здесь в том, что антивирус на клиентах Windows просматривает все, что есть в сети, каждый раз, когда вы пытаетесь его посмотреть. Если вы отключите сканирование доли с вашего AV, вы можете получить значительное улучшение. - brousch
У вашего заданного вопроса есть ошибка в файле конфигурации; параметры SO_RCVBUF и SO_SNDBUF должны идти в той же строке, что и «socket options =». Я ответил на ваш вопрос ниже, предполагая, что у вас есть socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 - Nelson


ответы:


Попробуйте настроить сервер без установки SO_RCVBUF а также SO_SNDBUF, То есть:

socket options = TCP_NODELAY

и ничего больше. Или прокомментировать socket options полностью и использовать Samba по умолчанию.

У меня была аналогичная проблема с Ubuntu 12.04 и клиентом Mac на гигабитном Ethernet. Чтение файла достигало 100 кбайт / с, или 300 раз слишком медленно. В Ubuntu 11.10 я настраивал оба буфера на 8192, как вы пробовали. Но когда я обновился до 12.04, я обнаружил, что мне пришлось удалить эту настройку, чтобы получить производительность обратно туда, где она должна быть (около 30 мбайт / с, скорость диска).

Другое решение Я видел, что предлагалось установить max protocol = NT1, Я попробовал это первым, и это не помогло мне.


1
2018-06-12 21:28



Я пробовал все предложения и не могу понять, почему это так медленно. Использует ли Ubuntu Server или Linux вообще плохой способ обслуживать файлы для компьютеров Windows? Я думал, что это довольно распространено. Похоже, это намного лучший способ, чем все эти маленькие боксы NAS, которые сидят, просто ждут неудач. И у меня есть еще одна машина, настроенная для запуска резервных копий из этого с помощью BackupPC ... весь мой план разваливается, так как я не могу заставить работу самбы. - swalker2001
Ubuntu Server / Linux - отличный способ запустить файловый сервер Windows. Почти каждый отдельный файловый сервер Windows, отличный от самого Windows, использует тот же код Samba, что и Ubuntu. Ящики NAS, как правило, просто небольшие ящики Linux, работающие с Samba. Хотел бы я помочь, извини. - Nelson