[РЕШЕНО] Низкая скорость SAMBA-сервера (не больше 1,5Мбит/с в локальной сети)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

vkapas
Сообщения: 190
ОС: Ubuntu 14.04, 16.04

[РЕШЕНО] Низкая скорость SAMBA-сервера

Сообщение vkapas »

Поднял и настроил на Ubuntu Server 14.04 «общую папку» на samba в небольшом офисе на 5 человек. Сотрудники стали жаловаться на низкую скорость передачи. Проверил — правда, скорость копирования с/на сервер не превышает 1-1,5 Мбит/с (в лучшем случае). В разгар рабочего дня падает ещё ниже.

Ubuntu-сервер и все офисные компьютеры объединены в сеть через роутер Zyxel Keenetic II: 1 компьютер и сам сервер подключены по витой паре, остальные компьютеры — по Wi-Fi. На всех машинах, кроме сервера, стоит Windows 7 или 8.

Диски на Ubuntu собраны в RAID-1 (зеркалирование). С их скоростью проблем нет:

Код: Выделить всё

# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   2174 MB in  2.00 seconds = 1087.22 MB/sec
 Timing buffered disk reads: 494 MB in  3.01 seconds = 164.12 MB/sec
# hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:   2192 MB in  2.00 seconds = 1096.26 MB/sec
 Timing buffered disk reads: 520 MB in  3.01 seconds = 172.77 MB/sec
# sudo hdparm -tT /dev/md/0

/dev/md/0:
 Timing cached reads:   2648 MB in  2.00 seconds = 1323.50 MB/sec
 Timing buffered disk reads: 550 MB in  3.00 seconds = 183.23 MB/sec

Изображение

Тест пропускной способности, запущенный между сервером и тремя разными ПК, показал, что скорость передачи должна быть не меньше 4Мбит/с:

Код: Выделить всё

# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.34 port 5001 connected with 192.168.1.105 port 58152
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.2 sec  11.5 MBytes  9.46 Mbits/sec
[  5] local 192.168.1.34 port 5001 connected with 192.168.1.100 port 58730
[  5]  0.0-10.0 sec   109 MBytes  91.1 Mbits/sec
[  4] local 192.168.1.34 port 5001 connected with 192.168.1.104 port 61993
[  4]  0.0-10.3 sec  6.12 MBytes  4.97 Mbits/sec

(192.168.1.105 — ПК, подключённый по LAN, 192.168.1.100 и 192.168.1.104 — по WiFi. В качестве сервера iperf — Ubuntu)

Для теста также поднимал на Ubuntu FTP-сервер и для сравнения копировал папки с похожим содержимым и размером ~500Мб через Samba, а затем через FTP. Тест проводил в нерабочее время с нулевой сетевой загрузкой сервера и сети. Результаты запутали ещё больше:
1) ПК, подключенный по LAN, показал примерно одни и те же скорости в обоих случаях:
Изображение Изображение
2) ПК, подключённый по Wi-Fi (выдавший через ipref 91.1Мбит/с), папку с изображениями размером 500Мб через Samba собирался копировать примерно 15 минут, а через FTP — 2 минуты:
Изображение Изображение


Собственно, вопрос: куда копать, чтобы увеличить скорость передачи данных по Samba?

Конфиг Самбы в приложении.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Bedazzled
Сообщения: 311
ОС: ubuntu

Re: [РЕШЕНО] Низкая скорость SAMBA-сервера

Сообщение Bedazzled »

http://www.calculate-linux.org/boards/7/topics/1621
возможно ваш вариант
Спасибо сказали:

vkapas
Сообщения: 190
ОС: Ubuntu 14.04, 16.04

Re: [РЕШЕНО] Низкая скорость SAMBA-сервера

Сообщение vkapas »

Хоть и запозданием, тему закрою. Что в итоге:
  • В данный момент со скоростью и стабильностью подключения шары всё в порядке. Скорость копирования туда/оттуда в лётную погоду — 10Мбит/с и выше.
  • Насколько я помню (вопрос был решён больше месяца назад), небольшую роль в этом сыграло добавление в /etc/samba/smb.conf следующих параметров по совету Bedazzled:

    Код: Выделить всё

    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    wide links = yes
    read raw = no
  • Но сама проблема крылась во взаимодействии роутера Zyxel Keenetic 4G II и Wi-Fi модулей TP-LINK TL-WN727N.


Чтобы я ни менял — настройки Wi-Fi, драйверы, USB-порты, настройки самих модулей — на нескольких разных компьютерах, в разных версиях Windows 7 — добиться вменяемой скорости (и Samba и вообще скорости по Wi-Fi) мне с ними не удалось. Для сравнения, в том же офисе есть компьютер с сетевой картой ASUS PCI-N10, который по Wi-Fi давал те же 10Мбит при работе с Samba, и два дешёвых ноутбука Packard Bell EasyNote, которые давали по 3-5Мбит.

Резюмируя, не рекомендую никому останавливать свой выбор на адаптерах TP-LINK TL-WN727N (V4) во избежание головной боли.
Спасибо сказали:

JwsD
Сообщения: 129
ОС: ArchLinux

Re: [РЕШЕНО] Низкая скорость SAMBA-сервера

Сообщение JwsD »

У меня подобная фигня, но чуть чуть другая конфигурация. Есть комп который по проводу подключен к роутеру, который раздает WiFi, который качает торенты. И раздает это все по самбе. Если мерить скорость iperf или python -m SimpleHTTPServer то скорость 2.5 Мбайта в секунду. Но если качать тотже самый файл через самбу то натыкаюсь на 6 мбит примерно. Иногда плавает и до 1-2 мбит доходит.

Много чего перепробовал. Ничего не помогло. Ни подкручивание сетевых буферов, ни все эти "samba performance howto" ничего не помогает. Есть идеи куда копать?
Спасибо сказали:

vkapas
Сообщения: 190
ОС: Ubuntu 14.04, 16.04

Re: [РЕШЕНО] Низкая скорость SAMBA-сервера

Сообщение vkapas »

Обновлю пост. Уже не по теме скорости, а по поводу опций
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192

Так вот, я не рекомендую их включать, т.к. они могут вызвать серьёзный баг, который повесит сервер наглухо.

Воспроизводится на samba 4.3.9 + ядро 3.16 + ФС xfs.
Спасибо сказали: