PRO sync: Upload throttling not working - set specific value?

I just upgraded to Pro (odrive 5085 on Windows 10) thanks to the ability to throttle Upload speed, as odrive uploads are largely crowding out all activity on my machine and network when I add a bunch of new data, and I have no control over it.

I’m on a 75/75 fiber connection, though I generally get closer to about 90Mbps most of the time. Currently, odrive is sending out a steady 90-95Mbps, regardless of my upload Throttling choice - Limited, Normal or Unlimited. I’m not sure what it’s doing to arrive at the supposed 75% bandwidth number (which should be Normal, right?), and I don’t know what Limited is supposed to be limited to… but clearly something isn’t working as expected.

My ethernet (LAN) connection is gigabit - I’d assume/hope that odrive isn’t using that for a basis of any calculations, but…?

Regardless, being able to either specify a value or choose from a list of actual values would be a big improvement over the combination of vague and apparently ineffectual terms currently available :slightly_smiling:

I’ve got 7 days before the $69 charge goes through - this will be a make/break for whether or not I cancel before then.

On a semi-related note, the visual indicator(s) of throttling speed need improvement - your choice is actually grayed out, to the exact level of gray that the un-select-able section header label (“Download Speed” and “Upload Speed”), making it unnecessarily hard to figure out what is selected or select-able.

1 Like

Hi,
The throttling that was set at the time of upload start or download start is what will be used until the operation is complete. If you changed it while things were in flight, the new value will not be used until a new operation is started or the current one is stopped and started again. Is it possible that this is what you are running into?

1 Like

I thought of that when I started to see it, so I went through a cycle of testing that included stopping and starting syncing, killing and restarting odrive itself, and then finally rebooting. Nothing seemed to make a difference… my upstream bandwidth was completely absorbed until the transfers were done (approximately 250GB in this instance), I just had to let it go on until it finished.

EDIT: I just added some new content (about 2GB) to trigger a sync… this is after a previous reboot, long after any other sync-able changes to the folder(s), etc., and with the upload throttling set to Limited… when the sync started up, my outbound bandwidth immediately jumped up to an average well over 90Mbps, peaking at nearly 99Mbps… if throttling is happening, it’s at my ISP :frowning:

This does trigger a thought for me. The current Unlimited, Normal and Limited options are OK for now, now that I have tested and know what the actual speeds are. Might be useful to have the labels indicate an approximate speed after that is determined during startup.

There is one other option which might be a good default, at least on Mac and Linux systems, and that is nice. Nice is a Unix type command that basically lets a process use all the resources available except when some other process or task needs them. At that point nice reduces the priority of the process it controls, taking up less CPU time, until the higher priority jobs are done. The net result might be that you’re using 100% of the resources (CPU, network etc) but the upload will step aside and let the human have priority.

So how about something like Unlimited, Normal, Limited and Background?

1 Like

Interestingly enough, real-world use shows that connections that are sufficiently fast will react in a similar way to the “background” notion, at least to a degree.

@sgodvb Can you tell me if you see better coexistence behavior with odrive when performing other network tasks? My expectation is that odrive will not “box out” other applications as dramatically, but I would like to get your feedback on that. Can you also let me know the nature/properties of the coexistence test?

Thanks!

I haven’t done extensive testing, but have seen definite impacts to other things… in particular I’ve had an iPad app (just a game - Simpsons Tapped Out) unable to synchronize with its network servers. That’s a low-bandwidth interaction - I see that behavior when my network is slammed (download or upload), but it was definitely immediately and completely affected for the life of the odrive transfer. Other things such as web browsing didn’t seem that much different, though maybe slightly sluggish. External streaming of things from my house (Plex) seem to take a big hit - buffering, etc. I didn’t see anything that indicated the odrive transfer was in any way backing off.

I’m happy to try something specific.

Oooooh! Another Plex server!

1 Like

I think that is sufficient. Thanks for the feedback. We are discussing potential ways to optimize this, especially for very fast connections like yours.

Thanks @Tony - I look forward to seeing future tweaks!

I have a similar issue, where I’ve got 300 Mbps down, 20 Mbps up (reality is more like 330 & 25).
I’ve set up multiple folders to sync to Amazon. I noticed odrive is using 20+ Mbps, so I enabled “Limited” for throttled upload. No change. Restarted odrive, it’s still using 20+ Mbps.

What’s the use of having a throttle option, if it doesn’t throttle? Looks like I’ll just have to throttle that specific PC via my router, which is a major annoyance, esp considering this is a paid feature.

I think this works by setting the rate for a NEW upload. uploads in progress seem to finish at whatever rate they started. My ISP is similar to yours 300/20. I ran a test with all three settings but with no other activity, and the throttle works as expected for me.

When a restart of the application has occurred, you would expect it to logically apply throttling to any transfers that are then restarted/resumed. Poor implementation imho.

@intel352 a restart, or stop and start of sync will pick up the new changes, but your particular issue may be a matter of precision.

We are discussing changes to throttling right now, as there are some precision issues, specifically on Windows that can end up with situations where speed remains very high even with throttling set to “Limited” The throttling right now is adaptive and not a simple “ratcheting” mechanism. We may end up making this less intelligent, but deterministic.

That would be ideal, as I’m not really concerned about throttling in regards to the machine that is doing the syncing, but more specifically to avoid the entire network connection becoming oversaturated. I think the adaptive approach would really only work well if there were only the 1 device on the network, rather than a variety of devices sharing the same outbound connection.

Cheers

The adaptive approach would be sensitive to overall network utilization by other machines. The throttling is designed to preserve overall network throughput when there is congestion.

What you are expecting is to see network utilization drop even if there is no congestion. A machine-centric throttling system is not effective on a network with multiple machines. Imagine you have three odrives on the network each capped at half the internet connection speed. When all three machines are active, the network will become congested. Other applications will experience heavy congestion because machine-centric throttling is unable to account for overall network activity.

The current system will throttle odrive as much as required to give other apps and other machines priority. When there is no congestion, it doesn’t slow down much. On very fast networks, throttling will not be noticeable until there is congestion.

Perhaps that’s what the intended effect is, but browsing on other networked devices definitely slowed down while the sync was running. I only have 1 device that specifically needs the sync functionality (for my use case), so I would like to see the ability to schedule throttling based on the time of day. For example, from 8am to 2am, I would throttle the upload speed to half of my available bandwidth (so ~10-12 Mb), and then allow unlimited bandwidth during the off hours.

I’m still seeing ZERO effect from upload throttling… running “prod 5689” on Windows 10, and my upstream bandwidth is slammed at 100+ Mbps… though my setting is “Limited” under Bandwidth Throttling / Upload Speed… that setting hasn’t changed. All that changed is that I made a number of changes in my odrive folder, and now am paying for it with massively impeded bandwidth utilization over which I have no control.

I’ll do some more forum searching when I have a chance. How exactly is the upload throttling supposedly throttling itself?

EDIT - reading back a bit, I see that odrive is maybe attempting to be smart… well, I’m still getting hosed.

EDIT #2 - I’d still really prefer the option of overriding any smartness and instead setting a hard cap on bandwidth utilization… right now I’ve set it to the lowest upload setting possible (Limited), and am still seeing undesirable impacts to my work on the same machine. It is also affecting other devices and activities on my local network (using the same Internet bandwidth). In general I don’t mind odrive’s behavior, but when I change a bunch of files at once (in this case 300GB of files re-named and re-organized), my lack of control over the specific bandwidth use means that I’m now stuck in this situation for the next several hours.

EDIT #3 - one additional factor, due to the activities going on on my machine right now, I’m also pushing a lot of data to network drive… so odrive is only responsible for 2/3 of my current bandwidth utilization on this machine. The network drive is internal bandwidth, not Internet bandwidth though. In any event, I still want explicit control at the times I need it… and stopping/pausing syncing is not sufficient control. I want the sync to happen, I just want it to happen more slowly sometimes.

Appreciate the feedback @sgodvb.

We understand the request for explicit throttling rather than the adaptive throttling we are currently using. It is a direction we may go in the future, although I don’t have any specifics to share about that, currently.

1 Like

I too am looking for something a little more predictable regarding throttling - in my situation when uploads are occurring I see a lot of buffering occurring on streaming services ((youtube, Netflix, hulu) that are unable to get outbound data packets through to the streaming service servers.
I got the trial upgrade specifically to try this feature but the current throttling implementation doesn’t seem to affect this situation so I’m going back to a preset outbound traffic limit set via QOS on my router. This solution does work but has the drawback that oDrive bandwidth is limited all the time, not just when other activity is occurring.

The ability to limit bandwidth by the kilobyte would be great, as I have a crappy upload speed. This is the bane of more cloud providers in the US.