Почему 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
задан 22 June 2012 в 17:42

7 ответов

Попробуйте настроить сервер без установки 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
ответ дан 25 July 2018 в 18:36

Попробуйте настроить сервер без установки 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
ответ дан 2 August 2018 в 00:45

Попробуйте настроить сервер без установки 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
ответ дан 4 August 2018 в 16:16

Попробуйте настроить сервер без установки 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
ответ дан 6 August 2018 в 00:55

Попробуйте настроить сервер без установки 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
ответ дан 7 August 2018 в 18:20

Попробуйте настроить сервер без установки 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
ответ дан 10 August 2018 в 07:04

Попробуйте настроить сервер без установки 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
ответ дан 15 August 2018 в 19:02
  • 1
    Я пробовал все предложения и не могу понять, почему это так медленно. Использует ли Ubuntu Server или Linux вообще плохой способ обслуживать файлы для компьютеров Windows? Я думал, что это довольно распространено. Похоже, это намного лучший способ, чем все эти маленькие боксы NAS, которые сидят, просто ждут неудач. И у меня есть еще одна машина, настроенная для запуска резервных копий из этого с помощью BackupPC ... весь мой план разваливается, так как я не могу заставить работу самбы. – swalker2001 14 June 2012 в 23:01
  • 2
    Ubuntu Server / Linux - отличный способ запустить файловый сервер Windows. Почти каждый отдельный файловый сервер Windows, отличный от самого Windows, использует тот же код Samba, что и Ubuntu. Ящики NAS, как правило, просто небольшие ящики Linux, работающие с Samba. Хотел бы я помочь, извини. – Nelson 17 June 2012 в 06:13

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

Похожие вопросы: