Jump to content

Limit file copy speed over network

porina

Scenario I have is that I want to move large files (game video recordings) created locally on my gaming system to my backup file server. However, when I do, the internal network becomes saturated and I'm unable to do anything latency sensitive e.g. gaming or streaming. While I could go to 10gig some day, I could use a short term solution. For now, I decided to put the file server on a 100M switch to limit the bandwidth, but of course that is really slow. Ok for backups where I don't care about speed so much but not a long term solution.

 

In a quick search I've only found suggestions with robocopy /ipg, but I don't want to do manage different software. A layer 3 switch or router might offer more QoS like functionality but if I'm doing that, I'm going 10gig anyway which also makes the problem go away.

 

Any other suggestions?

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

8 minutes ago, porina said:

Scenario I have is that I want to move large files (game video recordings) created locally on my gaming system to my backup file server. However, when I do, the internal network becomes saturated and I'm unable to do anything latency sensitive e.g. gaming or streaming. While I could go to 10gig some day, I could use a short term solution. For now, I decided to put the file server on a 100M switch to limit the bandwidth, but of course that is really slow. Ok for backups where I don't care about speed so much but not a long term solution.

 

In a quick search I've only found suggestions with robocopy /ipg, but I don't want to do manage different software. A layer 3 switch or router might offer more QoS like functionality but if I'm doing that, I'm going 10gig anyway which also makes the problem go away.

 

Any other suggestions?

QoS at the router level wouldn't work anyway as it has no way to determine what the traffic is, any shaping applies to all traffic so it limits the entire machine all the time.

 

Sounds like what you probably need is backup software to run on the server which can sync a folder on your gaming machine and pull the data over at a controlled rate. I genuinely have no idea if that even exists.

 

Edit - Wait, can't OwnCloud do exactly this?

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Master Disaster said:

QoS at the router level wouldn't work anyway as it has no way to determine what the traffic is, any shaping applies to all traffic so it limits the entire machine all the time.

While I haven't looked at it in detail, I was under the impression the file transfers within Windows was using a particular protocol, and as such, they could be selectively targeted.

 

3 minutes ago, jagdtigger said:

Did you try Syncthing?

I haven't and it doesn't look like what I'm after. I don't want to automate the process, I want to pick and choose what gets moved to where. The backup server is not on 24/7.

 

 

Also, my 100M switch trick didn't work. I had exactly the same problem I had when at gigabit. A speedtest showed my internet at 5M download with massive ping, compared to 380M when file copy was not running. My understanding fails at this point. This also makes it uncertain if 10gig would really help. BTW my network is gigabit apart from a single 100M switch used to try and limit in this scenario.

 

I guess my workaround is simply to do the transfers when I'm not gaming, which means overnight, and I'll probably forget to set it up before I go to bed...

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, porina said:

While I haven't looked at it in detail, I was under the impression the file transfers within Windows was using a particular protocol, and as such, they could be selectively targeted.

 

I haven't and it doesn't look like what I'm after. I don't want to automate the process, I want to pick and choose what gets moved to where. The backup server is not on 24/7.

 

 

Also, my 100M switch trick didn't work. I had exactly the same problem I had when at gigabit. A speedtest showed my internet at 5M download with massive ping, compared to 380M when file copy was not running. My understanding fails at this point. This also makes it uncertain if 10gig would really help. BTW my network is gigabit apart from a single 100M switch used to try and limit in this scenario.

 

I guess my workaround is simply to do the transfers when I'm not gaming, which means overnight, and I'll probably forget to set it up before I go to bed...

What about getting 2 PCIe NICs (or WiFi) and setting up an Ad Hoc network between the 2 machines specifically for file transfers? Should leave the original NIC & Router free to handle Internet stuff at full speed.

 

I'll be honest, I haven't played with QoS above basic tier, essentially setting machine priority as thats all my Router allows. You could be correct about higher end gear allowing port & protocol shaping.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Master Disaster said:

What about getting 2 PCIe NICs and setting up an Ad Hoc network between the 2 machines specifically for file transfers? Should leave the original NIC & Router free to handle Internet stuff at full speed.

I'd have to get another NIC and the configuration sounds a bit of a pain. Think I'll have another look at 10gig first.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, porina said:

I haven't and it doesn't look like what I'm after. I don't want to automate the process, I want to pick and choose what gets moved to where. The backup server is not on 24/7.

Okay, then maybe plain old FTP?

 

Or if you have a managed switch just buy a 2nd NIC for your PC and aggregate it with the existing one. This way the bottleneck will be your storage, or the NAS's. Either way it wont be able to saturate 2 1 gig link.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, porina said:

I'd have to get another NIC and the configuration sounds a bit of a pain. Think I'll have another look at 10gig first.

Take a look at OwnCloud first, I'm 90% sure it supports speed limiting transfers and folder syncing. It does mean running a web server & DB server though.

Main Rig:-

Ryzen 7 3800X | Asus ROG Strix X570-F Gaming | 16GB Team Group Dark Pro 3600Mhz | Corsair MP600 1TB PCIe Gen 4 | Sapphire 5700 XT Pulse | Corsair H115i Platinum | WD Black 1TB | WD Green 4TB | EVGA SuperNOVA G3 650W | Asus TUF GT501 | Samsung C27HG70 1440p 144hz HDR FreeSync 2 | Ubuntu 20.04.2 LTS |

 

Server:-

Intel NUC running Server 2019 + Synology DSM218+ with 2 x 4TB Toshiba NAS Ready HDDs (RAID0)

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, jagdtigger said:

Okay, then maybe plain old FTP?

As mentioned in OP I don't want to mess with different software. I want a network level solution as I can set it once and be done with it regardless of the system I use now or in future. I don't mind learning to configure QoS or whatever.

 

Quote

Either way it wont be able to saturate 2 1 gig link.

Yes I can. The hard disks I'm using easily sustain over 200MB/s, each.

I take that back, the source can't sustain that, only the destination.

 

7 minutes ago, Master Disaster said:

Take a look at OwnCloud first, I'm 90% sure it supports speed limiting transfers and folder syncing. It does mean running a web server & DB server though.

Just no. It's a solution for sure, but not for what I'm after.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, porina said:

As mentioned in OP I don't want to mess with different software. I want a network level solution as I can set it once and be done with it regardless of the system I use now or in future. I don't mind learning to configure QoS or whatever.

For that to work you would have to hook up the NAS directly to the router(either physically or with a VLAN) and your router needs to support limiters.....

 

4 minutes ago, porina said:

Yes I can. The hard disks I'm using easily sustain over 200MB/s, each.

Well good for you, i have a DS416 with 4 10 TB drives in raid10 and cant saturate the 2 link.....

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, jagdtigger said:

For that to work you would have to hook up the NAS directly to the router(either physically or with a VLAN) and your router needs to support limiters.....

It would mean new router, but that was a maybe for a while anyway. Wondering about stepping up from consumer grade to something more enterprise.

 

2 minutes ago, jagdtigger said:

Well good for you, i have a DS416 with 4 10 TB drives in raid10 and cant saturate the 2 link.....

I had to correct myself, only my destination can sink that fast (in theory) but my source can't supply it. Still, it seems sufficient pain that giving in to 10gig is the easier option if I'm going hardware route.

 

Also my memory is a bit hazy but during a recent CCNA course, my understanding is that two gigabit connections does not equal a single 2 gigabit connection when it comes to bandwidth for a single task. Could that be why you can't saturate 2 links? You'd need more parallel activity.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

7 minutes ago, porina said:

Wondering about stepping up from consumer grade to something more enterprise.

Well this explains a lot, i tend to forget about the limitations consumer stuff have...  With that in mind the only viable option without a complete network upgrade is a direct link either via wire or wifi.

 

8 minutes ago, porina said:

my understanding is that two gigabit connections does not equal a single 2 gigabit connection when it comes to bandwidth for a single task

If you just connect them without aggregation. When you aggregate them the load will be spread out on the aggregated links.  From a software viewpoint it will appear as a single 2 gig link.

Link to comment
Share on other sites

Link to post
Share on other sites

You could try something like this:

https://docs.microsoft.com/en-us/powershell/module/smbshare/set-smbbandwidthlimit?view=win10-ps

 

We have layer 2 DSCP marking for UDP in our house in the switch and client configs so all UDP packets receive EF which may or may not help depending on the gear you have.  There's some registry entry you can modify so that all of your Windows traffic tags a certain QoS value.

 

https://docs.microsoft.com/en-us/microsoftteams/qos-in-teams-clients

 

If you're having issues with Samba/SMB/CIFS you could do something like rsync within WSL and use a --bwlimit flag as well, you have a few options.  Transferring via SCP will also have a lower transfer rate and leave you more headroom on your 1g link.

 

Alternatively like others you can have a secondary NIC with its own IP schema on each side that just has dedicated backhaul back to your server/NAS, or just upgrade to a 10g switch

PC : 3600 · Crosshair VI WiFi · 2x16GB RGB 3200 · 1080Ti SC2 · 1TB WD SN750 · EVGA 1600G2 · Define C 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 1 year later...

I had the same issue only a few minutes ago. I was copying files from a Raspberry Pi to the PC and someone else was watching a video being streamed from a NAS to an Android box, and the video streaming froze. It was only when I paused the copying did the video unfreeze.

 

Given that, I looked for file copiers that had speed limiters, and found Ultracopier. There might be others.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 4/11/2021 at 2:26 PM, monkeylove said:

I had the same issue only a few minutes ago. I was copying files from a Raspberry Pi to the PC and someone else was watching a video being streamed from a NAS to an Android box, and the video streaming froze. It was only when I paused the copying did the video unfreeze.

 

Given that, I looked for file copiers that had speed limiters, and found Ultracopier. There might be others.

 

I'm guessing that was over WiFi?  As if those are four unique devices wired then they do not share bandwidth.

Router:  Intel N100 (pfSense) WiFi6: Zyxel NWA210AX (1.7Gbit peak at 160Mhz)
WiFi5: Ubiquiti NanoHD OpenWRT (~500Mbit at 80Mhz) Switches: Netgear MS510TXUP, MS510TXPP, GS110EMX
ISPs: Zen Full Fibre 900 (~930Mbit down, 115Mbit up) + Three 5G (~800Mbit down, 115Mbit up)
Upgrading Laptop/Desktop CNVIo WiFi 5 cards to PCIe WiFi6e/7

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Alex Atkin UK said:

As if those are four unique devices wired then they do not share bandwidth.

We don't know the topology but it is trivial to saturate gigabit which was my original problem for this thread.

 

On that note, my eventual solution was to go 2.5G as the price is now affordable unlike 10G. Since I don't run raid 0, 5 or similar, max transfer speeds are limited to that of a single HD which 2.5G is easily able to handle with spare.

Main system: i9-7980XE, Asus X299 TUF mark 2, Noctua D15, Corsair Vengeance Pro 3200 3x 16GB 2R, RTX 3070, NZXT E850, GameMax Abyss, Samsung 980 Pro 2TB, Acer Predator XB241YU 24" 1440p 144Hz G-Sync + HP LP2475w 24" 1200p 60Hz wide gamut
Gaming laptop: Lenovo Legion 5, 5800H, RTX 3070, Kingston DDR4 3200C22 2x16GB 2Rx8, Kingston Fury Renegade 1TB + Crucial P1 1TB SSD, 165 Hz IPS 1080p G-Sync Compatible

Link to comment
Share on other sites

Link to post
Share on other sites

19 minutes ago, porina said:

We don't know the topology but it is trivial to saturate gigabit which was my original problem for this thread.

Yes but they just described 4 different clients, pushing Gigabit between the Pi and PC should have ZERO impact on bandwidth between the NAS and Android box, unless WiFi is involved or they have two different switches/routers and are bottlenecking themselves on the link between them.

 

Even on WiFi I've pushed file transfers from my NAS to two laptops at the same time and the bandwidth simply halved between them (that was on my Ubiquiti NanoHD so possibly MU-MIMO doing its job).

Router:  Intel N100 (pfSense) WiFi6: Zyxel NWA210AX (1.7Gbit peak at 160Mhz)
WiFi5: Ubiquiti NanoHD OpenWRT (~500Mbit at 80Mhz) Switches: Netgear MS510TXUP, MS510TXPP, GS110EMX
ISPs: Zen Full Fibre 900 (~930Mbit down, 115Mbit up) + Three 5G (~800Mbit down, 115Mbit up)
Upgrading Laptop/Desktop CNVIo WiFi 5 cards to PCIe WiFi6e/7

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×