Onedrive uploads getting limited at approx. 1MB/s

What is the problem you are having with rclone?

I'm trying to upload things to Onedrive, but when i do it to both Onedrive Personal and Business accounts, i can only get 1 to 1.2MB/s speed, while my internet is capable of doing 40MB/s download and 25MB/s upload. I've already set up the whole Azure Portal instructions from a while ago, but it's still throttled for some reason. It wasn't like this before.

Run the command 'rclone version' and share the full output of the command.

rclone v1.58.1

  • os/version: Microsoft Windows 11 Home Single Language 21H2 (64 bit)
  • os/kernel: 10.0.22000.739 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.17.9
  • go/linking: dynamic
  • go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

Onedrive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone copyto "D:\Background recordings" "14422:\Computer\Background recordings" --progress --transfers=10

The rclone config contents with secrets removed.

[14422]                                                                                                                                                                                    type = onedrive                                                                                                                                                                            client_id = bc23003b-6a9a-45e3-9417-xxxxxxxxx                                                                                                                                           client_secret = xxxxxxxxxxxxxxxxxx                                                                                                                                   auth_url = https://login.microsoftonline.com/xxxxxxxxxxxx/oauth2/v2.0/authorize                                                                                    token_url = https://login.microsoftonline.com/xxxxxxxxxxxxxxxx/oauth2/v2.0/token                                                                                       drive_type = business                                                                                                                                                                      token = {"access_token":"xxxxxxxxxxxKCRj2w2zgVmAsgypGsSimPmcha8iJMpsyopjmXEoIicXbuZF-JRR21eIV1RGwx2OY9q1HRrhfEOw9tUkc4C5X_d4T8HVVpJF7J8YNPRYx8BizkVGz7p8mgg9b8I10ac8v70BSl8aZcd2VsdBu69njZotI8Id72PtYra1OFNtNpGlXwFvbYRPudB6dB9Qhs0gu6P-z6VcEyyWiB3LUL35pYQHZCsIVXSvtanj7UyDtHI8ARDOI3vai5OwyF0ekaKr3WnksCWkjtlWsbnRk9LrzuX8V-xxxxxxxxxxxxxxxx6YJvmthazRhgoVx6oMv6wZmq27gJDmf7FQP2RmC_FCUVaOgvgbDb7PaQqNupcxDClIVwgVBJ18_40L4HBIQCkwdoRcAZhD9YqLWviNSeS9XmB4R29T-bjlS1thdllyCeiifAWTBRhQVFxGBx9Axsf-UbVakIdWMahqWaL_xJ_2qxw0GwzqQC1gYQImR57xUT0Dyrlhkl6ilgJC1geYmNh1mhUHck4HEpeLX0msoRz_KfNYTrteLH4lDNomyfEBcPcq2lkMSFSpHz8brjE2XxUbgW3Q2j5C1OFXdf-7loCOcLVJEhh1o36M7jhDO2","expiry":"2022-07-10T15:40:34.3504582+07:00"}                                                                                                                                                 drive_id = b!FpRaUp5M9EamJAxxxxxxxxxxxxxx

A log from the command with the -vv flag

Additional information

This doesn't happen when uploading to Google Drive, so i'm fairly certain that it has something to do with Onedrive itself, not my internet.

hi, can you post the redacted config file

Didn't i already provide it...?

ok, i see it know, for some reason, it is formatted as one long line.

My best guess is an issue/limitation between your ISP and OneDrive.

Do you see the same speed if uploading through the OneDrive web interface in your browser? (Time the upload of a 100MB file)

Do you see the same speed if uploading through the native Windows OneDrive folder/client?

Do you see the same speed if using rclone (with default settings) to upload the 100 MB file from a testfolder with just this one file, that is

rclone copy ./testfolder YourOneDrivePersonal:testfolder --ignore-times --progress -vv

I don’t think your rclone setup is causing your issue, but I generally recommend keeping --transfers at default (4) with OneDrive to avoid throttling (429/Too many requests). Links to more info here.

  • Uploading through the web interface got me pretty much the same time w/ using rclone.
  • I uninstalled Windows Onedrive folder/client due to the hassle of setting it up, so i'd want to promptly skip this.
  • Uploading with testfolder also shows the same result.

I kept transfers at 10 so that i could upload a folder faster overnight. The folder has multiple files that aren't even a kilobyte in size, so in my opinion, it'd get those files over to the cloud faster, but i'm pretty sure it wasn't because of the transfer size because i even set it to 1 and it's still limited around 1MB/s.

I also noticed another strange thing. I have rclone set up on my Samsung Galaxy S3 phone to transfer data between my Google Drive and the Onedrive Business account. When i transfer using my PC, i'd still get 1MB/s of transfer speed, but if i do the same transfer using my phone, i'd get 2MB/s instead. Maybe it has something to do with the uploading / transferring client?

I suspected so, it seems to be something on the road from your PC to OneDrive. Could be your PC setup, local network/Wifi, ISP or OneDrive (throttling) - most likely one of the last two.

My best guess is still an issue/limitation between your ISP and OneDrive since the speed is significantly below the typical speed of OneDrive and your other clouds (e.g. GoogleDrive) are much faster.

Just double checking: Are you sure your max. upload speed is 20 MByte/s (roughly 200 mbps) and not 20 Mbit/s? An upload speed of 1.2 MByte/s is sometimes what you actually get on a (ISP promised) 20 mbps connection.

I did a performance test last year and found that OneDrive has a limit on the number of file creations per second and that 4 transfers were sufficient to saturate that rate.

My second guess it therefore that the slowdown could be some kind of "soft" throttling triggered by the combination of many small files and --transfers=10. I therefore suggest you try using the defaults for a week and see if that helps. It sometimes takes days for throttling to fully cool down.

If it doesn't help and your tests show significantly improved performance with 10 transfers, then this is of course the right setting for your situation. Do you happen to remember how much 10 was faster than 4?

I doubt it, especially if the rclone clients are the same version. Perhaps your phone is using another WiFi (band) or a cellular connection with another ISP? Perhaps it is due to variations in downloads from Google Drive as discussed in this hot thread.

It could also be pure coincidence, I do sometimes see such variations (factor 2) hour to hour and day to day.

Yes. Initially, the test i got from Speedtest.net were 320Mbps for download, and 200Mbps for upload, then i did a quick math to convert those numbers to MB/s.

Okay, maybe i'll stop transferring for an entire week, i'll see if it improves.

Unfortunately, i don't. It has been quite a while since i've done transfers to Onedrive.

Yes. The phone only offers 2.4GHz band, so that's what i used to connect to my wifi. I have also suspected this might be the case, but when i used 2.4GHz band on my computer to do the upload, i still got stuck on 1MB/s.

I actually started doing the transfer between the two clouds on laptop first before i decided to set it up on my phone, but the speed on my laptop is the same when i did uploads from my computer, and i have zero issue when i do downloads / uploads between my laptop and my Google Drive account, so i doubt that it has anything to do with Google Drive.