У меня есть общий ресурс Samba Linux (версия сервера 4.2), подключенный к локальной сети со скоростью 100 Мбит / с. Локально на сервере перечисление каталога, содержащего около тысячи записей, занимает чуть меньше секунды. С клиента (FreeBSD) на смонтированном ресурсе samba на этот раз увеличивается в шесть раз. Это не может быть нормально, не так ли?
# smb.conf:
[global]
interfaces = eth0
bind interfaces only = yes
display charset = utf-8
[Intenso Memory Center]
path=/media/intenseo
read only = no
Не задана строка для рабочей группы и сервера. Я использую mount_smbfs
(версия 2-0.90.2) с параметром -I
. Но установка имени рабочей группы и сервера и монтирование с этим именем не улучшают ситуацию. Кто-то предложил использовать oplocks = yes
в качестве опции совместного использования, попробовал, не имеет значения.
Что с этим делать?
Похоже, что вы используете общий доступ к usb-устройству через samba. На своих компьютерах я обнаружил, что использование внутреннего порта usb в сочетании с внутренним контроллером ethernet приводит к снижению скорости передачи данных - по сравнению с отправкой/приемом данных на/от накопителя sata. (В Raspberry Pi, например, используется один и тот же контроллер памяти для usb и ethernet, что объясняет отрицательную пропускную способность).
Однако для samba есть настройки, с которыми можно поиграть, в зависимости от вашего оборудования вы можете провести собственные сравнительные тесты, чтобы выяснить, что работает лучше для вас. Некоторые примеры настроек:
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=131072 SO_RCVBUF=131072
min receivefile size = 128k
oplocks = yes
level2 oplocks = no
max smbd processes = 128
Посмотрите эту страницу для получения дополнительной информации.