LINUX.ORG.RU
ФорумAdmin

HTTP vs Samba


0

1

Ситуация такая: имеется домашний сервак на Atom D525(мать Intel D525MWV), сетевой интерфейс на гигабит. Стоит там Debian Squeeze 6.0.1, Samba 3.5.6~dfsg-3squeeze2, Nginx 0.7.67-3. Используется в том числе для торрентов. Суть проблемы в следующем: имеем какое-либо видео(фильм, концерт, передача... ) в качестве от 720p до BluRay, через http нормально без лагов играется, например, через vlc, а вот через Samba дергается как паралитик. Неужели Samba так сеть забивает и/или винт задрачивает? Влияния скорости раздачи/загрузки торрентов и их количества на отдачу по http/Samba не замечено.


Для начала бы top'ом глянул, что у тебя в процессах происходит в момент просмотра по samba и сравнил бы с http.

Глядишь и дурацкие вопросы задавать на LORе не нужно было бы.

zgen ★★★★★
()

Размер файлов какой выходит? Файловая система под шарой? конфиг самбы покажи.

В случае, если это не твоя оплошность или не оплошность мейнтейнеров дебиана, надо провести более подробное исследование, а именно во время лагов включить вербозность в cifs и почитать что он сыпет в сислог.

adriano32 ★★★
()
Ответ на: комментарий от TOXA

Да тоже каких-то скачков нет. Все в норме.

igor87
() автор топика
Ответ на: комментарий от Yur4eg

Да, гигабитка и на сервере и на клиенте. Ради интереса и там и там пробовал. Помимо этого еще и с ноутбука(и через wifi и через провод) пробовал.

igor87
() автор топика

Дело в буфферизации данных. Твой браузер (или кто у тебя там тянет данные по HTTP) просто это делает, а клиент SMB - нет. Поэтому когда плеер обращается за очередной порцией данных то при работе по HTTP она уже доступна локально, а при работе через SMB она только начинает запрашиваться с сервера. Вот тебе и задержка.

VitalkaDrug ★★
()
Ответ на: комментарий от adriano32
[global]
   workgroup = WORKGROUP
   server string = %h server
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
[torrents]
   comment = Torrents
   path = /mnt/torrents
   browseable = yes
   read only = no
   create mask = 0775
   directory mask = 0775
   valid users = iz
[homes]
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

Попробую как-нибудь погонять туда сюда файлы и последить за логами, как время будет(наверное только к концу следующей недели). Файлы размером от 4Гб до 30Гб.

igor87
() автор топика
Ответ на: комментарий от VitalkaDrug

Начиная с какого-то там ведра кэш для сетевых фс есть, может как раз в нем и проблема(тот самый мифический 12309?)

TOXA ★★
()
Ответ на: комментарий от igor87

http://lists.samba.org/archive/samba/2008-May/140404.html

You can do the following on your local «PC running a 2.6 kernel» to track this down a bit more when using the cifs kernel module:
1. 'modinfo cifs' (to query some cifs version and kernel info)
2. 'modprobe cifs' (to make sure the module is loaded)
3. 'echo 3 > /proc/fs/cifs/cifsFYI' (to make cifs more chatty)
4. 'logger HERE-ALL-NEW-STUFF-NOW-========================================='
5. In a separate console, use 'tail -f /var/log/messages' to fetch cifs' msgs
6. use 'mount.cifs //server/share /path/to/local --verbose -o user=u,pass=p'
(the option «lfs» is _not_ needed here, not a valid cifs option)
(Usually) there should be cifs debug messages in the 4.) tail -f ... console.
All new entries start at the string
.... «HERE-ALL-NEW-STUFF-NOW-=========================================»

adriano32 ★★★
()

Реквеструю срач NFS vs ssh!
Неужели Samba так сеть забивает
Да, много лишних костылей для совместимости с известно чем. Use NFS or AFS.

darkshvein ☆☆
()
Ответ на: комментарий от TOXA

Что в предыдущих попытках было уже не помню, а сегодня, честно говоря, и не глянул - сразу плюнул и по http vlc-шкой глянул. Просто немного задалбливает ссылки вбивать/файлы туда-сюда гонять. Пару раз пробовал на серваке vlc застримить поток, но оно, похоже, пытается файл еще и декадировать, а на это там мощностей не хватает, так что тоже не вариант.

igor87
() автор топика
Ответ на: комментарий от igor87

еще вариант поднять какой-нибудь UPnP сервак(у мну XBMC) это может дать и удобную библиотеку для всего и сразу плюс всякие девайсы которые это могут тоже смогут брать оттуда видео/музыку

TOXA ★★
()

>Неужели Samba так сеть забивает

Дома самба+cifs обслуживают сетку из 4 компов (2 по гигабиту, 2 по 802.11n). Поставил год назад на замену NFS (последняя жутко тупила даже при небольшой нагрузке).
Грузит сетку на полную с минимальным оверхедом.

devl547 ★★★★★
()
Ответ на: комментарий от TOXA

В кеше сетевой фс скорее всего хранятся метаданные, к которым чаще всего обращения идут, или уже полученные части файла. Навряд ли туда засасывается с сервера файл упреждающим чтением. А вот браузер при работе с HTTP именно так и делает - читает как можно быстрее все с сервера не заботясь о том, какой кусок файла сейчас обрабатывается плеером. Поэтому когда плеер требует очередную порцию она уже оказывается локально на диске.

Когда у меня в локалку был канал в 2 мбита смотреть фильмы on-line на домашней тачке под вендой позволяла следующая техника: 1. Ставится на копирование фильм Far'ом 2. Запускается VLC, начинается просмотр файла (хоть он и ругается что файл возможно поврежден и надо бы исправить - ничего исправлять не надо) В таком режиме оно работает. Тогда как открыв файл напрямую с сервера максимум что можно было видеть - это слайдшоу.

Объясняется все той же буферизацией. Far умеет записывать в файл без его блокировки, и неторопливо, но ровно, постоянно закидывает туда контент. Когда плееру он потребуется - контент уже лежит локально. Никаких задержек.

VitalkaDrug ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.