Проблема: При большом количестве папок (порядка 3000+) Windows просто "подвешивает" окно минуты на 4, после чего выдет список всех папок.
При этих же настройках захожу через Total Comander и получаю список папок буквально через 5-6 сек.
Проверял с 5 разных компов с Windows XP.Настройки и ПО:
FreeBSD 7.0-RELEASE #0
samba-3.0.31_1,1есть несколько компов-файлохранилищ, с них по nfs используя tcp монтируются жесткие на один комп. Скрипт создает симлинки в одной папке, которая потом и расшаривается по самбе. Всего симлинков получается 3000+ . Эта шара монтируется командами типа "net use W: \\ftp\public"
Самое интересное, что в сети ничего не менялось, причем сервер без особых изменений жил уже около года....
конфиг smb.conf
[global]
dos charset = 866
unix charset = cp1251
display charset = cp1251
workgroup = GROUP
netbios name = FTP
server string = Share Server
interfaces = net0, net1
map to guest = Bad Password
null passwords = Yes
syslog = 0
log file = /var/log/samba/%I.log
max log size = 100
read raw = No
max xmit = 65535
name resolve order = wins lmhosts host bcast
time server = Yes
deadtime = 15
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST IPTOS_LOWDELAY IPTOS_THROUGHPUT
load printers = No
os level = 65
preferred master = No
local master = No
domain master = No
dns proxy = No
wins support = Yes
lock directory = /var/run/samba
hosts allow = 127., 172.,
preexec = "/ftp/bin/mkln %I"[public]
comment = Public stuff
path = /ftp/pub
force group = nobody
guest ok = Yes
delete veto files = Yes
veto files = /.*/[private]
comment = Private Movie stuff
path = /ftp/private
valid users = private
force group = nobody
delete veto files = Yes
veto files = /.*/[cinema]
comment = Movie Club
path = /ftp/kino
valid users = kino
create mask = 0664
directory mask = 0775
guest ok = Yes
delete veto files = Yes
veto files = /.*/[usr]
comment = Users Staff
path = /ftp/usr/
create mask = 0664
directory mask = 0775
guest ok = Yes
delete veto files = Yes
veto files = /.*/[home]
comment = Home dir
path = /ftp/home/%I
force user = nobody
force group = Administrator
read only = No
create mask = 0664
directory mask = 0775
guest ok = Yes
delete veto files = Yes
veto files = /.*/Даже не знаю уже куда и смотреть ( . Может кто-то сталкивался уже с чем-то подобным? В чем разница между Windows и Total Comander при выполнении листинга директории?
>[оверквотинг удален]
> guest ok = Yes
>
> delete veto files =
>Yes
> veto files = /.*/
>
>
>Даже не знаю уже куда и смотреть ( . Может кто-то сталкивался
>уже с чем-то подобным? В чем разница между Windows и Total
>Comander при выполнении листинга директории?может нет связи с некоторыми сетевыми ресурсами? в винде эксплорер начинает сильно тупить если, например, в проводнике есть ссылка на ресурс, который в этот момент недоступен.
при этом фар ну или тот-же тотал коммандер нормально открываются
>В чем разница между Windows и Total
>Comander при выполнении листинга директории?Проводник заходит в каждую папку чтобы запомнить структуру и сразу отобразить дерево папок текущего уровня и следующего.
Если показ дерева папок в проводнике отключен, то заход вглубь папок не отключается. Это не баг, это фича, и сервер тут не при чем.
>>В чем разница между Windows и Total
>>Comander при выполнении листинга директории?
>
>Проводник заходит в каждую папку чтобы запомнить структуру и сразу отобразить дерево
>папок текущего уровня и следующего.
>Если показ дерева папок в проводнике отключен, то заход вглубь папок не
>отключается. Это не баг, это фича, и сервер тут не при
>чем.ага )) проводник виндовс сам себе ДДоС ))
замечена был следующий момент, что при открытии папки с "кучей" подпапок, в каждой из которых фильм, windows "подвешивает" окно. Если открывается аналогичная папка тоже с "кучей" музыки в подпапках, подвисания не происходит (оно очень кратковременное)Было высказано предположение, что Windows пытается прочитать данные по фильмам в каждой из подпапок (пару кадров для отображения, а может еще какие-то данные), поэтому это и происходит так долго...
Еще один момент. Просмотрел по trafshow активность на серваке, при открытии одной и той же папки с кол-вом подпапок с фильмами 3000+. Увидел следующую картину:
Идет обычное соединение на порт 139, но с разной скоростью: Просто из под винды я получаю 5-20Кб , а при заходе через тотал - 100-400Кб.Народ, у кого какие мысли, как это побороть ?
>[оверквотинг удален]
>поэтому это и происходит так долго...
>
>Еще один момент. Просмотрел по trafshow активность на серваке, при открытии одной
>и той же папки с кол-вом подпапок с фильмами 3000+.
>Увидел следующую картину:
>Идет обычное соединение на порт 139, но с разной скоростью: Просто из
>под винды я получаю 5-20Кб , а при заходе через тотал
>- 100-400Кб.
>
>Народ, у кого какие мысли, как это побороть ?ну например может и антивирб притормаживать
Не это точно не антивирь. Пробовал с разных компов, а симптомы через чур одинаковые. Пробовал и отключать, никаких изменений.
Народ неужели НИКТО не работал с большим колличеством папок с мультимедией???
Подскажите, как это побороть
>Народ неужели НИКТО не работал с большим колличеством папок с мультимедией???
>Подскажите, как это поборотьНу обозначили же причину. Решение - не пользоваться виндовым проводником, а взять что-то аналогичное, либо вообще сделать другой интерфейс с юзером типа веба. Есть конечно еще шанс на то, что каким-ньть твикером можно проводник подпилить чтобы работал он как надо, а не как обычно...
>Решение - не пользоваться виндовым проводником, а взять что-то аналогичное,Данное решение не подходит, потому что пользователей 2000+ . Большинство из них боятся таких вещей.
Вариант с правкой реестра подойдет, только я пока не могу найти что поменять :(
Кто знает, подскажите пожалуйста!
значит у меня такая же проблема была. Но копать надо было на роутере.
Схема. Одноранговая сеть. Роутер 192.168.0.1 документы 192.168.0.5. Пользователи 192.168.0.100-200. При подключениях к серверу 0.5 висяки последнюю неделю. Отлипает через пару минут все гуд. Напрямую через эксплорер открылось быстренько. Вспомнил что на роутере неделю назад поставил жесткий дроп.#CLEANING TABLE
$iptables -F
$iptables -t nat -F
$iptables -t mangle -F
$iptables -X
$iptables -t nat -X
$iptables -t mangle -X#SET Default-Policies
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP#CLEANING TABLE
$iptables -F
$iptables -t nat -F
$iptables -t mangle -F
$iptables -X
$iptables -t nat -X
$iptables -t mangle -X#SET Default-Policies
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROPну и дальше правила разрешения. Включил логирование и что обнаружил что при подключениях к сетевой папке с 192.168.0.109 на сервер самбы 192.168.0.5 сам ип 109 бросает броадкаст
Jan 4 14:27:15 kybergames kernel: INPUT LOGIN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:00:11:d8:1d:96:3c:08:00 SRC=192.168.0.109 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128 ID=23335 PROTO=UDP SPT=137 DPT=137 LEN=58смотрим /etc/services и обнаруживаем
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udpДописываю правила разрешения
LOCAL0=192.168.0.0/24
echo "NETBIOS-NS 137"
$iptables -A INPUT -s $LOCAL0 -p tcp --dport 137 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p tcp --sport 137 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --dport 137 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --sport 137 -d $LOCAL0 -j ACCEPT
echo "NETBIOS-DS 138"
$iptables -A INPUT -s $LOCAL0 -p tcp --dport 138 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p tcp --sport 138 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --dport 138 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --sport 138 -d $LOCAL0 -j ACCEPT
echo "NETBIOS-SS 139"
$iptables -A INPUT -s $LOCAL0 -p tcp --dport 139 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p tcp --sport 139 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --dport 139 -d $LOCAL0 -j ACCEPT
$iptables -A INPUT -s $LOCAL0 -p udp --sport 139 -d $LOCAL0 -j ACCEPTПерегружаю таблицы. Смотрю попадают ли в цепочки iptables -L INPUT -vn|less
0 0 ACCEPT tcp -- * * 192.168.0.0/24 192.168.0.0/24 tcp spt:137
803 62688 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp dpt:137
0 0 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp spt:137
0 0 ACCEPT tcp -- * * 192.168.0.0/24 192.168.0.0/24 tcp dpt:138
0 0 ACCEPT tcp -- * * 192.168.0.0/24 192.168.0.0/24 tcp spt:138
200 43076 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp dpt:138
0 0 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp spt:138
0 0 ACCEPT tcp -- * * 192.168.0.0/24 192.168.0.0/24 tcp dpt:139
0 0 ACCEPT tcp -- * * 192.168.0.0/24 192.168.0.0/24 tcp spt:139
0 0 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp dpt:139
0 0 ACCEPT udp -- * * 192.168.0.0/24 192.168.0.0/24 udp spt:139Обнаруживаю что ходят родные UDP пакеты с локалки в локалку спрашивая чего-то у шлюза и задержки на открытия папки исчезли.
Отлипло благодаря такому решению. У каждого из Вас дорогие соконсольники может быть иная топология посему накладывайте у себя.
Так же роутер может быть не на линухе ну тогда колупайте роутер тот который у вас всё дропит. дайте ему жрать со 137,138,139 и будет счастье.
Всё ведет к тому что слабо знаем теорию микромягких )) если есть решение еще проще - буду оч рад узнать на suijuris@yandex.ru
Всем данке. дойчьлянд юбераллес.