Samba Performance Optimierung

Wieder mal ein Artikel der aus dem Projekt Homeserver 2.0 hervorgegangen ist.

Ich nutze hauptsächlich SMB Freigaben und beim Zugriff von ner VM aus, sollte der Durchsatz so hoch wie möglich sein. Mit den Werten aus der Default Samba Konfiguration war ich nicht so zufrieden, aber nach ein bisschen optimieren sieht das bis auf die 4k Werte schon passabel aus.
crystaldiskmark-mdraid
Dahinter liegt nur ein Software Raid5 aus 4 Platten.

Dann mal zur Samba Konfiguration:

[global]
workgroup = WORKGROUP
server string = Server
max protocol = SMB2
security = user
hosts allow = 192.168.0.
load printers = no
log file = /var/log/samba/log.%m
log level = 0
max log size = 50
dns proxy = no
create mask = 664
directory mask = 775
write cache size = 52428800
large readwrite = yes
min receivefile size = 131072
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536

[test]
comment = Test Freigabe
path = /test
valid users = @users
public = no
writable = yes
browseable = yes
printable = no
vfs objects = recycle
aio read size = 1572864
aio write size = 1572864
aio write behind = /*recycle*/

Zuerst mal zu den Einträgen in der Global Sektion:
max protocol = SMB2
Aktiviert das SMB2 Protokoll. Hierfür wird auf diem Client ein Betriebssystem >=Vista vorausgesetzt

write cache size = 52428800
Aktiviert für jede op locked Datei einen in memory Cache von 50 MB

large readwrite = yes
Aktiviert die 64k read und write Möglichkeiten die ab Server 2k eingeführt wurden. Ist eigentlich per default aktiviert.

min receivefile size = 131072
Erlaubt Samba für Dateien >128k direkt in den Filesystem Puffer zu schreiben.

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
Einige TCP Parameter angepasst.

aio read size = 1572864
aio write size = 1572864

Aktiviert asynchronous IO für Dateien grösser als 1,5 MB

aio write behind = /*recycle*/
Für meinen Papierkorb write behind aktivieren.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.