Toon posts:

[FREEBSD] Samba snelheid

Pagina: 1
Acties:

Onderwerpen


  • grotius
  • Registratie: April 2007
  • Laatst online: 30-05 11:18
Sinds kort draai ik een Freebsd 8.2 op mijn server.Het kopieren van of naar de server via mijn windows 7 pc's gaat erg traag (tussen de 2 en 8 MB/s). Volgens mij is dit gezien mij hardware te laag.

De server:
Freebsd 8.2 is geinstalleerd op een Crucial RealSSD C300 64GB HDD. De bestanden staan op een aparte ZFS pool (5x Hitachi Deskstar 5K3000, 2TB).
De hardware: AMD Phenom II X2 550, Zotac 880G-ITX en 8gb geheugen.
Het netwerk is 1 gigabit per seconde (router, netwerkkaarten en kabels)
De server wordt benaderd door verschillende windows 7 machines.

Via PuTTy heb ik wat interne snelheden achterhaald. Ik heb het volgende commando 5x uitgevoerd.
NAS# dd if=/dev/zero of=somefile bs=1m count=4k
4294967296 bytes transferred in 58.974471 secs (72827568 bytes/sec)
4294967296 bytes transferred in 33.445957 secs (128415142 bytes/sec)
4294967296 bytes transferred in 35.193181 secs (122039759 bytes/sec)
4294967296 bytes transferred in 29.686668 secs (144676638 bytes/sec)
4294967296 bytes transferred in 36.066081 secs (119086055 bytes/sec)
De weergeven snelheden zijn niet stabiel.Het schommelt tusen de 70 en 144 MB/s. Ik vind de waardes wat lastig om te interpreteren. Toch lijkt mij dit niet de bottleneck. De interne schrijfsnelheid van de server is 'hoog genoeg'. De oorzaak voor de trage samba snelheid ligt dus niet aan de schrijfsnelheid van de server.

Ik heb de Samba als volgt ingesteld:

/etc/rc.conf
# Local services
zfs_enable="YES"

# Network services
sshd_enable="YES"
samba_enable="YES"
samba_config="/usr/local/etc/smb.conf"
/usr/local/etc/smb.conf
#======================= Global Settings =====================================
[global]
workgroup = werkgroep
server string = %h Samba
security = user
log file = /var/log/samba/log.%m
log level = 2
max log size = 500
hide dot files = yes
passdb backend = tdbsam
socket options = TCP_NODELAY SO_RCVBUF=131072 SO_SNDBUF=65536
use sendfile = yes
os level = 10
preferred master = No
domain master = No
dns proxy = No
wins support = No
ldap ssl = no
case sensitive = Yes
level2 oplocks = Yes
oplocks = Yes
load printers = No
printcap name = /dev/null
disable spoolss = Yes
show add printer wizard = No
#============================ Share Definitions ==============================
[homes]
comment = Home directory for %u on %h
browseable = no
writable = yes
path = /tank/private/%u/Docs
valid users = %S

[printers]
printable = Yes
browseable = No
available = No

[public]
comment = %h Shared Public Directory
path = /tank/public
force directory mode = 0777
force create mode = 0777
force group = nobody
force user = nobody
public = yes
writeable = yes
read only = no
Heeft een van jullie tips truucs om de snelheid van samba te verhogen? Of zijn waardes tussen de 2 en 8 MB/s normaal? Ik hoop van jullie te vernemen. Alvast bedankt.

  • bassie
  • Registratie: November 2006
  • Laatst online: 06-07-2020
grotius schreef op zaterdag 28 mei 2011 @ 17:29:
De weergeven snelheden zijn niet stabiel.Het schommelt tusen de 70 en 144 mb/sec. Ik vind de waardes wat lastig om te interpreteren. Toch lijkt mij dit niet de bottleneck. De waardes liggen namelijk boven de 70mb/sec (het maximaal haalbare via een gigabyte netwerk)
Let even op je notatie. MB = megabyte Mb = megabit.
Je netwerk zal waarschijnlijk 1 gigabit per seconde zijn.

De snelheden schommelen tussen 70 en 144 MB/s (72827568/(1024^2). 70MB/s lijkt mij niet gek voor een 1Gb netwerk.

  • grotius
  • Registratie: April 2007
  • Laatst online: 30-05 11:18
bassie schreef op zaterdag 28 mei 2011 @ 17:43:
[...]


Let even op je notatie. MB = megabyte Mb = megabit.
Je netwerk zal waarschijnlijk 1 gigabit per seconde zijn.

De snelheden schommelen tussen 70 en 144 MB/s (72827568/(1024^2). 70MB/s lijkt mij niet gek voor een 1Gb netwerk.
Dank voor je snelle antwoord. De server haalt 70MB/s als ik een kopieractie op de Freebsd server uitvoer (dus in het commando venster van FreeBSD). Het probleem zit hem erin dat ik erg lage snelheden behaal als ik een bestand van mijn windows 7 pc kopier naar de server. De snelheid is dan maximaal 8 MB/s...

[Voor 3% gewijzigd door grotius op 28-05-2011 18:06]


  • huiser
  • Registratie: Mei 2003
  • Laatst online: 04-06 14:02
Welke perfomance krijg je als je vanaf een andere FreeBSD/Linux-doos naar je FreeBSD-server kopieert?
Probeer ook eens een ander protocol, bijvoorbeeld NFS of FTP. Hiermee kan je Windows 7 en/of Samba als oorzaak uitsluiten.

[Voor 5% gewijzigd door huiser op 28-05-2011 18:16]

-Huiser


  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Welke versie van Samba is dit? Als dit niet de nieuwste is, 3.5.6 dacht ik, dan kun je die misschien updaten.

Wat zou je hardware als snelheden moeten halen dan?

Misschien handig om van dicht bij de hardware naar buiten te werken waar de bottleneck zit. BIOS instellingen, Drivers/modules in OS, os/drivers/modules instellingen, filesystem, tcp snelheden, samba

Kun je misschien eens de snelheden testen met diskinfo of bonnie++?

- I Am Second - Rebels Guide to Joy - Werkelijke Christendom


  • grotius
  • Registratie: April 2007
  • Laatst online: 30-05 11:18
Ik zal mij verdiepen in diskinfo en/of bonnie++ installeren op de server

Sambaversie is nieuwste (3.5.6)

perfomance Win7 -> Server via FTP (eveneens 7 MB/s)

Ergens gaat er dus iets mis in mijn systeem (FreeBSD server). 7 MB/s is wel erg laag.

[Voor 3% gewijzigd door grotius op 28-05-2011 19:06]


  • grotius
  • Registratie: April 2007
  • Laatst online: 30-05 11:18
Het probleem lijkt opgelost. Het was niet de FreeBSDserver maar de Windows 7 PC die het 'probleem' veroorzaakte.

Zojuist heb ik een laptop geleend en aangesloten op mijn netwerk. Als ik een bestand van de laptop, via de windows verkenner, naar de server stuur krijg ik snelheden van rond de 50MB/s.Ik mag aannemen dat dit snelheden zijn waar ik tevreden mee kan zijn? Of is er zelfs nog meer snelheidswinst te behalen met een paar tweaks van de instellingen?

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Je zou eens een BIOS update kunnen doen. Zie ook:
Version 2K110413
.Fixed SATA 3.0 (6Gbps) issue in CMOS
.Changed DMI content
Gebruik je AHCI in de BIOS?

Als Samba 3.6 stabiel is, raad ik je aan om daar naar te upgraden. Die ondersteund het volledige SMB2 protocol, wat Windows 7 ook aan boord heeft. Dit protocol heeft veel minder overhead dan zijn voorganger. En dat kan echt veel schelen soms.

Daarnaast kun je eventueel nog kijken naar de send en receive buffers die je in je socket options hebt aangegeven in de config van samba (smb.conf)

Voorbeeld van een smb.conf die wij gebruiken op een gigabit lan (alleen potentieel relevante delen):
code:
1
2
3
4
5
socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT
#name resolve orders is afhankelijk van je netwerk structuur
name resolve order = wins lmhosts hosts bcast
#disable serverside symlinks, because of security error (See: http://www.samba.org/samba/news/symlink_attack.html)
wide links = no


Hier ook nog een topic daarover: http://hardforum.com/showthread.php?p=1036992918

Zie misschien ook:
http://www.enterprisenetw...C-for-Top-Performance.htm

En misschien Jumbo frames aanzetten in je netwerk?

- I Am Second - Rebels Guide to Joy - Werkelijke Christendom


  • grotius
  • Registratie: April 2007
  • Laatst online: 30-05 11:18
Super, dank voor de tips. Ik ga vandaag kijken of ik de server snelheid nog verder omhoog kan krijgen :-)

[UPDATE] De eerste resultaten zijn binnen.

/etc/rc.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#======================= Global Settings =====================================
[global]
   workgroup = werkgroep
   server string = %h Samba
   security = user
   log file = /var/log/samba/log.%m
   log level = 2
   max log size = 500
   hide dot files = yes
   passdb backend = tdbsam
   socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_RCVBUF=131072 SO_SNDBUF=65536
   use sendfile = yes
   write cache size = 65536
   aio write size = 65536
   aio read size = 65536
   aio write behind = true
   syslog = 0
   os level = 10
   preferred master = No
   domain master = No
   dns proxy = No
   wins support = No
   ldap ssl = no
   case sensitive = Yes
   level2 oplocks = Yes
   oplocks = Yes
   load printers = No
   printcap name = /dev/null
   disable spoolss = Yes
   show add printer wizard = No
   wide links = no

/etc/sysctl.conf
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
kern.ipc.somaxconn=2048
kern.ipc.nmbclusters=32768
kern.ipc.maxsockbuf=16777216

net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.inflight.enable=0
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
net.inet.udp.recvspace=65536
net.inet.tcp.inflight.enable=0
net.inet.tcp.rfc1323=1
net.inet.tcp.sack.enable=1
net.inet.tcp.path_mtu_discovery=1
net.inet.tcp.sendbuf_auto=1
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=524288

/boot/loader.conf
code:
1
2
3
4
5
6
7
8
9
10
# enable AHCI driver
ahci_load="YES"
aio_load="YES"

vfs.zfs.arc_meta_limit=536870912
vfs.zfs.arc_meta_used=533477328
vfs.zfs.arc_min=536870912
vfs.zfs.arc_max=9437184000
vfs.zfs.vdev.min_pending: 4
vfs.zfs.vdev.max_pending: 33


Mijn snelheden liggen nu rond de 100 MB/s :9

100% tevreden ben ik nog niet. Op een of andere manier liggen de schrijfsnelheden hoger dan de leessnelheid. (getest met CystalDisk). Ik zal daarom later vandaag nog naar de Bios kijken. Ik neem aan dat ik AHCI moet gebruiken (nadat ik de BIOS heb geupdate)?

[Voor 93% gewijzigd door grotius op 02-06-2011 14:12]

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee