1

I'm hoping someone can help with an issue i've had for a couple years. Ever since 14.04 (i've upgraded to 14.10, 15.04, 15.10, 16.04, 16.10, 17.04) i've had horrible transfer speeds on a gigabit lan. I'm talking 8-12MB/s. I've course played with my smb.conf file without much luck. The other day when i was about to give up and go back to windows i found an obscure post that helped quite a bit:
Very slow internet connection on ubuntu 16.04

I'm now able to get around ~40MB/s down and ~50MB/s up. I never ever heard of gai.conf before this and while it made a huge difference is still nothing to write home about. I have similar windows clients on the same network that easily get 100MB/s+.

The file server started out as Server 2012, then Server 2012 R2, and is now Server 2016. While maybe it can be expected that windows clients maybe "might" be a little faster (how well does samba support SMB?) but i don't think 80MB/s consistently is to much to ask for.

I've scoured google looking for answered and tried many smb.conf setting (changing mostly socket options) and played with enabling jumbo frames (which my switch supports) but nothing has helped. i've tried tried to also disable IPv6. My current socket options in smb.conf are:

socket options = TCP_NODELAY SO_RCVBUF=524288 SO_SNDBUF=524288 IPTOS_LOWDELAY

I have a similar machine with ubuntu mate that has the same issue. I've never tried any other distro other than ubuntu so i don't know if its a linux, samba, or a ubuntu issue. I remember reading a post (a long time ago that i can no longer find) by Jeff Atwood on how the networking stack of ubuntu is slow and thats why the switched from ubuntu server to CentOS.

I have Cat 7 everywhere and have tried to swap out cabling with no luck. I've standardized my nic cards in all my machines with intel gigabit nics. If i can provide you any diagnostic data just let me know. I also tried to ask this on ubuntuforums but only thing i got was crickets.

Edit. I have a (whati thought to be a crappy) onboard realtek gigabit card (RTL8111/8168/8411) and it does better than my intel card (82574L) and it does better than the intel card by about 10MB/s both down and up. Suprising but i'm still not anywhere near where i want to be.

  • To get proper networking performance, the application needs to use zero SNDBUF and RCVBUF, and instead send asynchronous IO requests so the kernel can do direct IO instead of copying between user and kernel buffers. If samba did this, it wouldn't even let you configure those options, so my guess is that it can not. – psusi May 04 '17 at 01:15
  • @psusi let me make sure i understand you correctly. So you think the problem is with samba and not ubuntu or linux itself and inherent limitations in samba so i'm at the limits of samba? If so seems pretty pitiful performance for samba. What if i was on a 10GB lan? Dohhhhh!!!! – coding4fun May 04 '17 at 02:07
  • What's your output from lshw -C network and sudo ethtool <nic-name>? Should tell you whether the NIC is configured for gigabit speed or not. – Adam Sep 10 '17 at 20:54

0 Answers0