Gå til innhold

Treg skrive ytelse over SMB med 4.4 kernelen i Ubuntu 16.04


Anbefalte innlegg

Hei

 

Skulle kopiere over en ISO fil fra en maskin til en annen i hjemmenettverket (Samba). Får bare 40 MB/s når jeg egentlig skal få ca 113 MB/s. Testet både med Ubuntu 16.04 og Linux Mint 17.3 som begge har 4.4 kernelen installert, over til Windows 10 maskina. Samme ytelse. MEN kopierer jeg fra den maskina som har Win10 på over til den andre (altså motsatt), så får jeg full 113 MB/s skriveytelse...!

 

Noen som vet hvorfor? Bug med NTFS driveren i kernel 4.4 eller i Samba? Liksom litt forskjell på 40 og 113 MB/s da.

Lenke til kommentar
Videoannonse
Annonse

Det er mange grunner, det mest vesentlige er nok sync (CMD_ATA_FLUSH). Den eneste måten å hjelpe på dette er å øke bufferstørrelse.

 

Prøv å legg til følgende til smb.conf

 

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

aio read size = 16384

aio write size = 16384

 

Pass og på at følgende er satt til

strict sync = no

Lenke til kommentar

Det er mange grunner, det mest vesentlige er nok sync (CMD_ATA_FLUSH). Den eneste måten å hjelpe på dette er å øke bufferstørrelse.

 

Prøv å legg til følgende til smb.conf

 

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

aio read size = 16384

aio write size = 16384

 

Pass og på at følgende er satt til

strict sync = no

 

Takk for svar, men det der hjalp ikke her. Testet det i Debian 8.5 også med 4.6 kernelen.

Lenke til kommentar

Du nevner NTFS, har du det på Linux-siden også?

 

På Debian maskina her nå bruker jeg Ext4 på root partisjonen så klart, og NTFS på en annen intern harddisk. Hvis jeg kopierer fra root til den NTFS disken internt, så går filoverføringa lynraskt. På disken som er på ene Windows maskina som jeg skulle kopiere til er det NTFS på disken der. 

 

Jeg har en HTPC med Win10 på, og fra den til en annen Windows maskin over nettverket får jeg full ytelse. Så det er ikke noe galt med Windows maskinene.

Endret av Betroz
Lenke til kommentar

Då er det nok rimelig sikkert dette som er problemet

 

 


Samba defaults to asynchronous writes.  smbd writes to memory buffer,

then returns to processing.  Buffer is flushed to disk later. This is
the most efficient behavior.

Windows CreateFile API has the FILE_FLAG_WRITE_THROUGH flag, which
requests synchronous writes.  smbd writes to memory buffer, blocks until
buffer contents are written to disk, which results in poor performance,
but better data integrity.

When "strict sync = yes" (default = no) Samba honors the
FILE_FLAG_WRITE_THROUGH flag, and results in synchronous writes when
called by the CreateFile API.

When "sync always = yes" (default = no) Samba executes all writes
synchronously. This requires that "strict sync = yes".
StrictSync  SyncAlways  ff_write_through   Sync-Writes
    no          no             no                no
    yes         no             no                no
    yes         no             yes               Yes (slow)
    no          yes            yes               no
    yes         yes            yes/no            yes (very slow)

 

Eg har også lest at Samba er veldig sensitiv til latency. Der Wifi kan blir opptil 10x tregere enn kabel.

 

Så det er lite du kan gjøre med dette. Bytt til noko annal, f.eks iSCSI eller NFS.

Får ikkje all verdens ytelse her heller med Samba med 10G nettverk der eg ligger under 100MB/s, mens NFS og iSCSI går lett opptil  950MB/s.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...