This is the old XigmaNAS forum in read only mode,
it will taken offline by the end of march 2021!



I like to aks Users and Admins to rewrite/take over important post from here into the new fresh main forum!
Its not possible for us to export from here and import it to the main forum!

Тормоза на NFS

Russian community

Moderators: alexey123, MikeMac

Forum rules
Set-Up GuideFAQsForum Rules
Post Reply
crutch
NewUser
NewUser
Posts: 5
Joined: 09 Jan 2015 23:49
Status: Offline

Тормоза на NFS

Post by crutch »

Доброго времени суток! Необходим совет/информация...

Есть NAS 9.2.0.1 - Shigawire (revision 972) на HP MicroServer N40L (4Gb ECC, raidz1, 1Gb LAN). Скорость сети согласно iperf 55-70 MBs (дешманские провода cat5, чахлый роутер). SMB/CIFS на запись 40-60 MBs, чтение чуть похуже.

Есть плеер Pioneer BPD-150 с пролеченной прошивкой (теперь читает DNLA/NFS). Раньше на вышеназванном железе стоял WHS 2011 (только soft raid5) c haneWIN NFS server. Плеер воспроизводил по сети любые образы, даже самые тяжелые. Всё бы было ничего, только захотелось бесплатного NAS на флешке, чтобы SATA порт освободить. И вот тут началась засада - плеер тормозит, NFS клиент на ноутбуке показывает скорость чтения 8-9 MBs, что, в принципе, достаточно для BD3D, но лаги и звук пропадает. DLNA неудобен, потому что плеер отображает всякий мусор из папок BDMV.

Воткнул вместо сервера ноут с haneWIN NFS server - всё нормально, значит, дело не в сетке. Самба отдает файлы с приличной скоростью.
NFS v4 пробовал включать - не то. С MTU не поиграться - роутер староват. Настройку "ifconfig bge0 media autoselect mediaopt flowcontrol" делал, тоже мимо. А дальше не хватило знаний/статей в интернетах.

И отсюда вопрос - куда копать?
Поможет ли апгрейд на старшую версию Nas4Free? Или сделать софтовый raid5? Или роковая несовместимость с гигабитной сеткой?
Настроек NFS сервера в GUI очень мало; как я понимаю, параметры соединения в основном настраиваются в клиенте, до которого не добраться. Или всё-таки можно как-то подкрутить NFS сервер?

User avatar
MikeMac
Forum Moderator
Forum Moderator
Posts: 429
Joined: 07 Oct 2012 23:12
Location: Moscow, Russia
Contact:
Status: Offline

Re: Тормоза на NFS

Post by MikeMac »

Для тех, кто будет читать позже, процитирую ваш итоговый коммент

"Кажется, я нашел, в чем дело.

http://forum.ixbt.com/topic.cgi?id=60:3797-52#1905

"Оказалось, пионер не просто работает с NFS по UDP, а с использованием SOCK_DGRAM - в этом случае NFS (по крайней мере тот, который во freebsd) по умолчанию использует блоки в 16384.

Для корректировки размера блока во фри в файле nfsproto.h необходимо поправить конструкцию вида #define NFS_MAXDGRAMDATA 16384 на значение в 8192 и пересобрать модули. После этого кино идёт плавно и практически без фризов."


Это подтверждается настройками haneWIN - поиграл с максимальным размером пакета: 8192 - всё в порядке, 16384 и 32768 - знакомые тормоза. В комментариях к прошивке указано также "Настройки NFS клиента при подключении к серверу -onolock,rsize=8192,wsize=1024,proto=udp,async"
"

crutch
NewUser
NewUser
Posts: 5
Joined: 09 Jan 2015 23:49
Status: Offline

Re: Тормоза на NFS

Post by crutch »

Не стоило, право) Ещё буду пробовать чего-то добиться с помощью Finch, тогда и распишу, вышло или не вышло.

crutch
NewUser
NewUser
Posts: 5
Joined: 09 Jan 2015 23:49
Status: Offline

Re: Тормоза на NFS

Post by crutch »

Опишу на всякий случай как я подсоединил Pioneer BDP-150 к NAS4Free.

После обновления прошивки плеера решил поставить finch:
1. отключил NFS в WebGUI;
2. Установил finch;
3. Пробросил папки;
4. Настроил в finch сервер nfs (дописал нужные строки в rc.conf, etc\exports) запустил:
rpcbind -> nfsd -u -t -n 4 -> mountd -r
По дефолту всё работало, плеер увидел новую NFS share.
5. Далее исправил в исходниках \sys\nfs\nfsproto.h (пути здесь и далее из chroot, естественно):
NFS_MAXDGRAMDATA 16384 на значение 8192
NFS_MAXMDATA 16384 на значение 8192
6. Создал свой конфиг MEGA на основе \sys\amd64\conf\GENERIC, ничего особенно не правил, отключил debug и отключил sound и прочее;
7. Пересобрал ядро: config MEGA -> make depend -> make -j3 -> make install;
8. Остановил finch, перезагрузил NAS4Free;
9. Зашел в finch chroot, запустил NFS server заново: rpcbind -> nfsd -u -t -n 4 -> mountd -r
10. Плеер видит NFS share, но всё равно воспроизводит с тормозами и без звука(((
11. Плеер видит SMB share, на которой включен guest access, но то же самое.

Возможно, я что-то сделал не так, потому что читать вообще что-либо про UNIX начал пару недель назад.
Осмелюсь предположить некую кривость драйверов под FreeBSD для HP NC107i (Broadcom NetXtreme).

В общем, через некоторое время подключил плеер через haneWIN сервер 1.2.16 (на 1.1.x не работает) на локальной машине.
Подключаюсь к NAS4Free SMB share строкой в exports: "\\192.168.1.100\Storage\Video -alldirs -readonly -name:Video"
и плеер таки видит все файлы по NFS и воспроизводит BD3D с нормальной скоростью.

Немного из серии "почесать левое ухо через правое плечо", но работает, только локальную машину приходится держать включенной.

crutch
NewUser
NewUser
Posts: 5
Joined: 09 Jan 2015 23:49
Status: Offline

Re: Тормоза на NFS

Post by crutch »

Вы таки будете смеяться, но я обнаружил, что дело было в непрожатом разъёме пач-корда (отмечен X).
Сеть заводилась на 1G, но одна пара "фонила" и потери пакетов в UDP приводили к фризам. Обходной путь работал потому что haneWIN сервер на "компьютер Win7" лез на SMB шару NAS по TCP (с потерями, но всё же гигабит), а потом уже отдавал плееру 100 мегабит через свитч по UDP "в хорошем качестве".
schemaq.png
Проверяйте ваши провода!
You do not have the required permissions to view the files attached to this post.

Post Reply

Return to “Российская”