Samba extreem traag (+10 maal trager dan share transfer)

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09 06:31
Ben inmiddels meerdere malen aan het zoeken geweest, maar ik kan het probleem van mijn trage samba server niet vinden. Om deze reden hier mijn post.

Ik heb een samba server draaien met een aantal shares (zie onder mijn smb.conf). Echter als ik een test doe op de server met een transfer test (continu gebruik ik dezelfde file):


Bash:
1
2
3
4
 # dd if=/home/Share/File.iso of=/dev/null
^C8930785+0 records in
8930784+0 records out
4572561408 bytes (4.6 GB) copied, 43.3004 s, 106 MB/s


Als ik echter deze map als samba share mount via CIFS, dan kom ik op het volgende waardes:

Bash:
1
2
3
4
5
#  mount -t cifs //share/Movies temp
#dd if=/home/share/temp/File.iso of=/dev/null
^C1230478+0 records in
1230477+0 records out
630004224 bytes (630 MB) copied, 45.1418 s, 14.0 MB/s


Hier zit een factor van 7,5 tussen. Dit leek me wat veel, maar aangezien ik hier nog de kans had dat het via de netwerk kaart zou kunnen lopen (192 adres) heb ik het geprobeerd via de loopback:

Bash:
1
2
3
4
5
#  mount -t cifs //127.0.0.1/Movies temp
# dd if=/home/share/temp/File.iso of=/dev/null
^C781224+0 records in
781223+0 records out
399986176 bytes (400 MB) copied, 26.6303 s, 15.0 MB/s


Dit heeft nog steeds hetzelfde resultaat. Nu is mijn vraag waar ik verder moet zoeken aangezien ik een standaard smb.conf heb?
Reden dat ik ben gaan zoeken is dat ik in windows 7 ook een lage snelheid had, dit terwijl alles via een prof gigabit switch loopt en NFS tussen 2 linux servers wel minimaal 50MB/s haalt.
Dus eerste stap is de server side uitsluiten geweest (wat dus niet kan). Tweede stap was de NIC uitsluiten wat dus kan. Ergens in Samba zit iets niet goed... (of kernel side...)

Ik hoop dat iemand me kan helpen.

Update:
Na een reboot kom ik hoger uit, maar nog steeds niet in de buurt van de 100MB/s
Bash:
1
2
3
4
# dd if=/home/Share/File.iso of=/dev/null
^C594246+0 records in
594245+0 records out
304253440 bytes (304 MB) copied, 10.2867 s, 29.6 MB/s


smb.conf:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[global]
        workgroup = WGH_GROUP
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        printcap cache time = 750
        cups options = raw
        map to guest = Bad User
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = No
        wins server =
        wins support = No

[Movies]
        comment = Movies Repository
        path = /home/Share/Movies
        guest ok = Yes

[ Voor 5% gewijzigd door BSeB op 06-10-2013 18:50 ]


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:42

CAPSLOCK2000

zie teletekst pagina 888

Zoek eens op Samba Performance Tuning, daar is redelijk veel over te lezen. Probeer bv eens:

code:
1
socket options = TCP_NODELAY SO_RCVBUF=65536 SO_SNDBUF=65536

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09 06:31
In de laatste versies van Samba is TCP_NODELAY standaard. Er wordt ook geadviseerd geen SO te gebruiken omdat dit negatief zou kunnen zijn.

Zojuist dus toch even geprobeerd en mijn resultaat is:

25MB/s

Oftewel langzamer, zonder doe ik namelijk:
28MB/s (niet wereldschokkend verschil)

Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Wat haal je met bijvoorbeeld iperf tussen die 2 machines.

Even om uit te sluiten dat het in je router o.i.d. zit.

Experimenteer ook eens met je tcp window size (-w optie in iperf).

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09 06:31
Iperf geeft me een goed resultaat, namelijk gigabit:

Bash:
1
2
3
4
5
6
7
------------------------------------------------------------
Client connecting to 192.168.178.4, TCP port 5001
TCP window size: 21.9 KByte (default)
------------------------------------------------------------
[  3] local 192.168.178.5 port 48741 connected with 192.168.178.4 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.10 GBytes   941 Mbits/sec


smbclient vanaf een andere linux pc naar de server (en ook de windows omgeving) laten beiden een snelheid van 50 tot 70 megabyte per seconde zien.
CIFS is traag. Heb ik gevonden op dit forum:
http://arstechnica.com/ci...15e99a49de83615#p24406507

Ben nu even aan het kijken wat er gebeurd als ik de settings van smb wijzig (heb het idee dat ze blijven zweven waardoor de huidige score "goed" is, maar als ik reboot hij weer inzakt.)

Acties:
  • 0 Henk 'm!

  • strandbal
  • Registratie: Juli 2003
  • Laatst online: 22:21

strandbal

Was het maar zo'n feest.

Je kunt nog even proberen met AIO aan en max protocol op SMB2. (mits je clients windows 7 of hoger zijn).

Hier stond een dode link.


Acties:
  • 0 Henk 'm!

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09 06:31
Heb zojuist deze pagina gebruikt:
https://wiki.amahi.org/index.php/Make_Samba_Go_Faster

Plus de optie:
server max protocol = SMB2

Hiermee haal ik de volgende resultaten:

Zonder beide:
Bash:
1
2
3
4
5
getting file \testfile1 of size 3224686592 as testfile1 (76959.6 KiloBytes/sec) (average 76959.6 KiloBytes/sec)

real    0m40.927s
user    0m0.287s
sys     0m1.626s


Met alleen IAO
Bash:
1
2
3
4
5
getting file \testfile1 of size 3224686592 as testfile1 (55766.0 KiloBytes/sec) (average 55766.0 KiloBytes/sec)

real    0m56.478s
user    0m0.322s
sys     0m2.005s


Met IAO en SMB2
Bash:
1
2
3
4
5
getting file \testfile1 of size 3224686592 as testfile1 (71626.0 KiloBytes/sec) (average 71626.0 KiloBytes/sec)

real    0m43.973s
user    0m0.310s
sys     0m1.891s


Conclussie: De extra optie hebben geen toegevoegde waarde.
Wat ik kan proberen is of mijn harddisk een bottleneck kan zijn door niet op te slaan naar local disk, maar naar /dev/null:

Hiermee het volgende resultaat (geen AIO of SMB2):
Bash:
1
2
3
4
5
getting file \testfile1 of size 3224686592 as /dev/null (1922532.2 KiloBytes/sec) (average 1922532.4 KiloBytes/sec)

real    0m1.644s
user    0m0.312s
sys     0m0.372s


Dit is interesant, nu krijg ik de maximale speed die ik op loopback kan halen. Nu dezelfde test via het 192 ip, maar wel op dezelfde machine.

Bash:
1
2
3
4
5
6
7
# time smbclient  //192.168.178.4/Movies -c 'get testfile1 /dev/null' -N
Domain=[HASH_GROUP] OS=[Unix] Server=[Samba 3.6.12-59.5.1-2989-SUSE-SL12.3-x86_64]
getting file \testfile1 of size 3224686592 as /dev/null (1866691.1 KiloBytes/sec) (average 1866691.2 KiloBytes/sec)

real    0m1.693s
user    0m0.290s
sys     0m0.426s


Hmz, blijkbaar nog steeds gewoon geredirect naar loopback. NU dus maar vanaf een andere linux bak:

Bash:
1
2
3
4
5
6
7
$ time smbclient  //192.168.178.4/Movies -c 'get testfile1 /dev/null' -N
Domain=[HASH_GROUP] OS=[Unix] Server=[Samba 3.6.12-59.5.1-2989-SUSE-SL12.3-x86_64]
getting file \testfile1 of size 3224686592 as /dev/null (113126.7 KiloBytes/sec) (average 113126.7 KiloBytes/sec)

real    0m27.868s
user    0m4.088s
sys     0m8.332s


Behalve dat het systeem om een reden langzamer was geworden is na mijn reboot (of het defaulten van de global settings) de snelheid maximaal. Bij de laatste test een snelheid van 111 megabytes per seconde.
Dit is volledige gigabit snelheid....

Ik blijf de samba snelheid monitoren voor de komende periode (vooral als de server langere tijd heeft aangestaan). Koppel dit over een tijdje wel terug. Kan in ieder geval niet achterhalen waar de langzame snelheid vandaan komt (buiten CIFS).

Acties:
  • 0 Henk 'm!

  • PSU_freak
  • Registratie: December 2005
  • Laatst online: 01-10 21:51
de blocksize die dd standaard gebruikt is maar 512 bytes. Dit is waarschijnlijk erg inefficient. Probeer eens bs=1M toe te voegen aan je dd commando.

Acties:
  • 0 Henk 'm!

  • Thc_Nbl
  • Registratie: Juli 2001
  • Laatst online: 21-05 22:24
hmm, vreemd.

zeg eens,

OS :
CPU snelheid,
blocksize? *(vermoedelijk standaard )
type even uname -a
merk model netwerk kaart.

dan kunnen we even verder kijken.

ehhh.. noppes


Acties:
  • 0 Henk 'm!

  • fast-server
  • Registratie: April 2003
  • Laatst online: 29-09 23:37
Is je samba versie wel compiled met http://wiki.samba.org/ind...ptions#--with-aio-support ?

Standaard staat dit namelijk uit.

PV Output SolarEdge SE5000H, 12x Jinko JKM390N-6RL3 Tiger> 4,68 kWp, Helling 42°, Oriëntatie 196° (ZZW)

Pagina: 1