Pomoc Powolne wczytywanie listy plików - samba

klimu

Passing Basics
Beginner
22 Grudzień 2020
25
1
3
41
QNAP
TS-x28
Ethernet
1 GbE
Hej,

Mam sobie pewien folder w którym jest ok 3000plików .txt. Otwieranie tego folderu, czy to explorerem win10, win11 czy TC, trwać potrafi kilkanaście sekund. Ale po jednokrotnym otwarciu tego folderu kolejne są już błyskawiczne. Do czasu, aż znowu jedno z otwarć trwa kilkanaście sekund.

Co ciekawe skopiowanie tych samych plików na starego Zyxela (smb1) owocuje każdorazowym błyskawicznym otwarciu folderu.

Problem dotyczy w sumie kilku folderów zawierających po kilka tysięcy plików. Taki zawierający ok 9000plików .pdf otwiera się jeszcze dłużej. (nie pytajcie, ma tak być, pewien program je automatycznie generuje)

Na zagranicznych forach qnapowych ciągną się wątki dotyczące wolnego wczytywania się folderów na windowsach. Chyba od ok 2013 roku. Bez rozwiązania niestety.
Czy to kolejny znany i niezałatany problem? Na szybko sprawdziłem dostęp z poziomu ubuntu i niestety otwieranie folderów z dużą ilością plików jest również powolne.

Poniżej podaje fragment smb.conf. Wszystko raczej z automatu lub wyklikane w gui.


Kod:
[global]
passdb backend = smbpasswd
workgroup = XXXXX
security = USER
server string = QNAP
encrypt passwords = Yes
username level = 0
map to guest = Never
max log size = 10
socket options = TCP_NODELAY SO_KEEPALIVE
os level = 20
preferred master = no
dns proxy = No
smb passwd file=/etc/config/smbpasswd
username map = /etc/config/smbusers
guest account = guest
directory mask = 0777
create mask = 0777
oplocks = yes
locking = yes
disable spoolss = yes
load printers = no
veto files = /.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@__thumb/.@__desc/:2e*/.@__qini/.Qsync/.@upload_cache/.qsync/.qsync_sn/.@qsys/.streams/.digest/
delete veto files = yes
map archive = no
map system = no
map hidden = no
map read only = no
deadtime = 10
restrict anonymous = 2
server role = auto
use sendfile = yes
unix extensions = no
store dos attributes = yes
client ntlmv2 auth = yes
dos filetime resolution = no
follow symlinks = yes
wide links = yes
force unknown acl user = yes
template homedir = /share/homes/DOMAIN=%D/%U
inherit acls = yes
domain logons = no
min receivefile size = 256
case sensitive = auto
domain master = auto
local master = yes
enhance acl v1 = yes
remove everyone = yes
conn log = yes
kernel oplocks = no
min protocol = SMB2_10
smb2 leases = yes
durable handles = yes
kernel share modes = no
posix locking = no
lock directory = /share/CACHEDEV1_DATA/.samba/lock
state directory = /share/CACHEDEV1_DATA/.samba/state
cache directory = /share/CACHEDEV1_DATA/.samba/cache
invalid users = guest
printcap cache time = 0
acl allow execute always = yes
server signing = disabled
streams_depot:delete_lost = yes
streams_depot:check_valid = no
fruit:nfs_aces = no
fruit:veto_appledouble = no
winbind expand groups = 1
winbind scan trusted domains = no
winbind max clients = 2000
winbind max domain connections = 2
pid directory = /var/lock
printcap name = /dev/null
printing = bsd
show add printer wizard = no
wins support = no
winbind enum groups = Yes
winbind enum users = Yes
host msdfs = yes
kerberos method = secrets only
server schannel = yes
name resolve order = host bcast
server kernel smbd support = no
client ipc min protocol = CORE
aio read size = 1
aio write size = 0
vfs objects =  shadow_copy2 widelinks catia fruit qnap_macea streams_depot aio_pthread

[XXX]
comment = Dysk M
path = /share/CACHEDEV1_DATA/xxx_dane
browsable = yes
oplocks = yes
ftp write only = no
recycle bin = yes
recycle bin administrators only = no
qbox = no
timemachine = no
public = yes
invalid users = "guest"
read list =
write list = @"administrators",@"i wiele innych"
valid users = "root",@"i wiele innych"
inherit permissions = yes
shadow:showprevious = yes
shadow:snapdir = /share/CACHEDEV1_DATA/_.share/xxx_dane/.snapshot
shadow:basedir = /share/CACHEDEV1_DATA/xxx_dane
shadow:sort = desc
shadow:format = @GMT-%Y.%m.%d-%H:%M:%S
smb encrypt = disabled
create time = 2020:10:12:21:44:31:32
strict allocate = yes
streams_depot:check_valid = yes
mangled names = yes
hide unreadable = no
access based share enum = no



Wersja oprogramowania Firmware
: 5.0.0.1853 Build 20211114
Model serwera: QNAP TS-328
 
primo - dotyczy to SMB ! problem dotyka więc nie tylko QNAPa ale i S, EMC , Asustor etc !
więc jak chcesz się kogoś przyczepiać to po równo proszę , okej ?

secundo - z rzeczy które warto zrobić:
1. wyłączyć IPv6 wszędzie
2. sprawdzić czy to nie program AV miesza

co do dziubania w SMB.conf .. powodzenia ! QNAPowy panel WWW przepisze Ci plik od nowa , jak zmienisz tylko jedną rzecz za jego pomocą.

Chyba od ok 2013 roku
2005 roku ... jak przestaniesz patrzeć na QNAPa.
 
primo - dotyczy to SMB ! problem dotyka więc nie tylko QNAPa ale i S, EMC , Asustor etc !
więc jak chcesz się kogoś przyczepiać to po równo proszę , okej ?

secundo - z rzeczy które warto zrobić:
1. wyłączyć IPv6 wszędzie
2. sprawdzić czy to nie program AV miesza

co do dziubania w SMB.conf .. powodzenia ! QNAPowy panel WWW przepisze Ci plik od nowa , jak zmienisz tylko jedną rzecz za jego pomocą.

Chyba od ok 2013 roku
2005 roku ... jak przestaniesz patrzeć na QNAPa.


Możliwe że i inni producenci maja problem, zastanawia mnie czemu na Zyxelach (2x NSA325) tych problemów nie mam?
Qnap zastąpił Zyxela i pełni dokłądnie tą samą rolę. Możliwości ma nieporównywalnie większe ale boli że wydajnością niedomaga.
 
Mam sobie pewien folder w którym jest ok 3000plików .txt. Otwieranie tego folderu, czy to explorerem win10, win11 czy TC, trwać potrafi kilkanaście sekund. Ale po jednokrotnym otwarciu tego folderu kolejne są już błyskawiczne. Do czasu, aż znowu jedno z otwarć trwa kilkanaście sekund.
To nie jest problem urządzenia. Taka jest specyfikacja Samby. Prawidłowym rozwiązaniem jest lepszy sprzęt, dyski SSD i etc.
 
To nie jest problem urządzenia. Taka jest specyfikacja Samby. Prawidłowym rozwiązaniem jest lepszy sprzęt, dyski SSD i etc.
Folder z tymi samymi plikami na starym Zyxelu z SMBv1 otwiera się błyskawicznie.
Do tego na qnapie zdażają się takie "czkawki" przy otwieraniu również innych folderów. Narzekają wszyscy userzy (ok 18). Wcześniej na Zyxelu takich problemów nie było. Qnap został jedynie dołożony do sieci. Stąd moje podejrzenia odnoście SMB w qnapie. Jedynie czego jeszcze nie próbowałem to wymuszenia SMBv1 na qnapie.
 
Jedynie czego jeszcze nie próbowałem to wymuszenia SMBv1 na qnapie.
Czym jest protokół SMBv1 i dlaczego powinieneś go wyłączyć - Kapitan Hack
popatrz na date ;)

Generalnie problem wygląda mi na klasyczny problem biznesu:
Mamy program działa i jest okej , ale boli nas to i to .. naprawa tego (jak ma kto) kosztuje XYZ (wybierz walutę), co podobno biznesowi się nie opłaca.
Wyczarujcie.
Godzinę grzebania później , dowiadujesz się , program pisany pod Windows 2000 , wymaga komponentów które zostały wycofane X lat temu i nikt tego nie tyka - nie daj wybuchnie.
Nie ma wsparcia , a biznes ma się kręcić.

Skąd to znam ? Bo mam dosłownie 20 takich programów w Citrixie.
Polecam skontaktować się z dostawcą i poprawić te "feature'y" - a jak on umarł , to pora poszukać nowego.

Na SMB v1 się nie godzę KROPKA.

@Silas Mariusz - wymiana qnapa nie wiele zmieni , problem jest fundamentalny.
 
90% (strzelam) programów jest napisanych i utrzymywanych u nas w firmie. Ale to nie one sprawiają problem. Problemem jest zwykłe latanie po dysku i otwieranie .xls, .pdf czy plików źródłowych. Czasem qnap się zamyśli nawet gdy próbuje otworzyć folder w którym znajduje się jedynie 30 innych folderów. Przykład podany przeze mnie z tysiącami plików jest skrajnym przypadkiem.
Jest to lekko irytujące patrząc, że stary Zyxel nie generował takich problemów. Może jest to błędna konfiguracja qnapa. Dlatego pytam tutaj.
 
Taka jest specyfikacja Samby.
[SAMBA] slow directory listing : linuxquestions (reddit.com)

Microsoft Message Analyzer uruchamiasz, monitorujesz i zobaczysz ile danych przepływa przez Sambe. To nie jest directory listing, ktory wysyła Ci tylko nazwę katalogów, ale całe metadane... Samba jest zaawansowana. Jak odpalisz analyzer to zobaczysz że komunikacja jest w dwie strony i to system decyduje od serwera jakie ten ma wysłać mu dane dla każdego pliku/katalogu.

Rozwiązanie -> mocniejszy procesor, dyski SSD

Narzekają wszyscy userzy (ok 18)
Co ma 18 użytkownik do miliony działających QNAP'ów?

FYI:
Bash:
#!/bin/sh
i=0
until [ $i -gt 9000 ]
do
    echo i: $i
    ((i=i+1))
    file=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;)
    echo "$file" > $file
done

Utworzyłem 9000 losowych plików.

Patrz:
Samba opening 9k files - YouTube

Sprawdź środowisko. Posłuchaj pigersa.
Problem nie istnieje.
 
No i u mnie jest tak samo! No prawie...
Otwieram folder z 10k plików i od razu widze zawartość. Zrobię to 5 minut później i TC lub explorer wisi przez kilka a nawet kilkanaście sekund zanim wyświetli się zawartość.
Dzieje się tak i po godzinach pracy userów gdzie aktywność w sieci prawie zamiera. Nie jestem administratorem sieciowym, szukam rozwiązania bo nikt inny nie chce;)
Zrobię jak poleciłeś, trochę pologuje. Może coś nowego się dowiem.
 
Nie wiem czy znajdziesz rozwiązanie tak łatwo.
Samba header jest ruchem troche takim jak traffic drogowy, piggyback
[MS-CIFS]: The SMB Header | Microsoft Docs

PS. a łapanie się za rozwiązanie NFS to zły pomysł. Nawet domyślnie Linux Desktop wyszukuje urządzenia Windows Networking. Samba jest obecnie jedynym prawidłowym protokołem, który powinien być używany. NFS natomiast tylko do podłączania BSD, legacy urządzeń czy zasobów traktowanych jako pule dyskowe, zasoby operacyjne - ale nie do pracy na plikach.

PS2. moim zdaniem porównywanie działania Samby do starego ZyXEL'a z SMB v1 ma sie nijak.

PS3. uważam, że warto byłoby się interesować tym tematem, gdybyś miał urządzenie na Intelu - co bardzo Ci polecam i szczerze życzę abyś rozważył jego zakup. Natomiast w przypadku ARM i energooszczędnego procesora nie warto się tym przejmować.

A jeśli naprawdę pragniesz zweryfikować czy gdzieś nie ma delayu i etc. to Analyzer albo Wireshark i grepujesz Sambe.
 
  • Lubię to
Reakcje: Kong

Użytkownicy znaleźli tą stronę używając tych słów:

  1. kerberos
  2. samba