May 23, 20251 yr I've been struggling with this for a while now. I have my Unraid box at a remote location. I can access and manage everything just fine via Tailscale. All apps/dockers work fine. Anytime I need to upload large amounts of data to a share, I use SMB from my Windows 11 machine. The performance is EXTREMELY poor. I'm talking maybe 3 MB/s. It can take hours to upload a few gigabytes. I tried some basic troubleshooting tips for a while. "Enable SMB Multi Channel" to true, toggling other SMB flags and retesting as well. Nothing made any difference to the speed. I also tried my Mac with SMB over Tailscale and i has the exact same performance bottleneck. I can't transport my windows machine since it's a tower, but I took my Mac to the location of the Unraid box and tested transfers directly on the same LAN and the same bottleneck does not exist. So I believe it's something to do with going over WAN to my Unraid box. I set up WireGuard with a "Remote access to LAN" setup and am now observing the same speed issue. I think the speed actually picked up a little and I top out at around 7 MB/s, but the bottleneck is still there. Is "Remote access to LAN" the correct set up?I've tried testing with iperf3 and it shows the same speed bottleneck. The Unraid server has a wired 1 Gbps connection. I can validate that speeds work fine because I have a speedtest-tracker container installed. I may not get a full 1 Gbps, but I'm easily getting 500+ and can also verify with my Sabnzbd container. My remote machine where I upload from also has a 1 Gbps connection... but for some reason the upload is just poor from the provider. It usually tops around 300 Mbps or so. Either way, neither Tailscale or WireGuard are saturating my entire 300 Mbps connection. 8 MB/s is about 64 Mbps, well under 300. I can confirm that nothing else on my network is using the upload at that time either. Does anyone have suggestions on troubleshooting, or tips on how to get around this Tailscale / WireGuard issue?Things I've done / tried:Tailscale on a remote Windows and remote Mac machine - Observed same problem on both with SMB and iperf3. About 3 MB/sDirect LAN access from Mac over SMB and iperf3 - no issuesWireGuard on a remote Windows machine - Slightly better speed than Tailscale, but not usable by any measure. 7-8 MB/sTried directly accessing the disk share and observed the same problem. Tried writing to the cache disk via disk shareTried writing to an HDD only shareTried writing to a cache user shareTried flipping many SMB specific feature flags from Unraid preferences to no avail.
May 23, 20251 yr SMB has a massive performance hit with high latency. You should really set up the SFTPGo docker container and use that instead. Especially if you're going to transfer large files. For working with documents or photos SMB are fine but you really want to use SFTP instead. You could try to disable bandwidth throttling on high latency network (HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableBandwidthThrottling)this will probably help a bit but it'll still be slower then FTP. Edited May 23, 20251 yr by strike
May 24, 20251 yr Author @strike thanks for suggesting SFTPGo. I did try the docker container yesterday after posting this, but it had the same throughput cap! I was connecting via SFTP over Filezilla on windows. Let me ask, should SFTPGo be routed over WireGuard? Can that be the issue? How would I go about accessing this that wouldn't have to be routed through WireGuard or Tailscale, but also be secure and not open to the web?
May 24, 20251 yr You can use tailscale or wireguard with sftp. Make sure you have a direct connection in tailscale.How did you connect in filezilla? With the tailscale ip or hostname? If you want to NOT use tailscale or wireguard you have to set up ssh keys and forward port 2022 on the remote router. It's pretty secure with ssh keys,but you can also set up whitelist in sftpgo so only your IP can connect and block everything else.But there shouldn't really be much overhead using tailscale (which also uses wireguard btw), IF you have a direct connection. If not you'll be routed through slow derp servers. So make sure you have a direct connection.
May 27, 20251 yr Author @strike I decided to try replacing my router. I plugged in an old router I had, and with speedtests I was able to get 900 up/down. I then retried SFTPGo through Tailscale and I had vastly improved speeds. I was able to upload at around 300-500 Mbps. About ~220gb of images took maybe 1-2 hours which is satisfactory for me. I did not end up exposing my SFTP port. I think I can probably shut down SFTPgo in favor of SMB now. I'm planning on removing the Fios router I was provided with a new router. I've spent some time googling, and the Fios router has some issues that may be able to be solved through troubleshooting, but it's just not something I care to figure out since it's a rental. Thanks for the assistance.
May 27, 20251 yr Glad you found a solution. I still think SMB will be slower than SFTP, but give it a go :)
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.