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

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

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

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

Я использовал файл 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?

1 ответ

Попробуйте настроить свой сервер без настройки 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, Я попробовал это сначала, и это не помогло мне.

Другие вопросы по тегам