Onedrive does not reach desired upload speed

What is the problem you are having with rclone?

Rclone <-> Onedrive does not reach desired upload speed.
Expected: 8gbps~
Reality: 200-500mbps

I've played around with different --drive-chunk-sizes, but it doesn't seem to do anything, is 500mbps the maximum rclone can achieve, is this an rclone limitation or a onedrive limitation?



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

rclone v1.65.2

  • os/version: Microsoft Windows 11 Pro 23H2 (64 bit)
  • os/kernel: 10.0.22631.3227 (x86_64)
  • os/type: windows
  • os/arch: amd64
  • go/version: go1.21.6
  • go/linking: static
  • 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 mount --vfs-cache-mode full OneDrive: O: --cache-dir D:\rclone --vfs-cache-max-age 36h --local-encoding=None --dir-cache-time 8790h --attr-timeout 8790h --vfs-cache-max-size 25G --fast-list --drive-chunk-size 256M --rc --rc-serve --rc-web-gui --rc-user=xxx@xxx.xxx --rc-pass=xxx -vv

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

[OneDrive]
type = combine
upstreams = Server01=onedrive-server01-crypt: Server02=onedrive-server02-crypt: Server03=onedrive-server03-crypt: OD01=onedrive-od01-crypt: OD02=onedrive-od02-crypt: OD03=onedrive-od03-crypt: OD04=onedrive-od04-crypt: OD05=onedrive-od05-crypt: OD06=onedrive-od06-crypt: OD07=onedrive-od07-crypt: OD08=onedrive-od08-crypt: OD09=onedrive-od09-crypt: OD10=onedrive-od10-crypt: OD11=onedrive-od11-crypt: OD12=onedrive-od12-crypt: OD13=onedrive-od13-crypt: OD14=onedrive-od14-crypt: OD15=onedrive-od15-crypt: OD16=onedrive-od16-crypt: OD17=onedrive-od17-crypt: OD18=onedrive-od18-crypt: OD19=onedrive-od19-crypt: OD20=onedrive-od20-crypt:

[od01]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od02]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od03]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od04]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od05]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od06]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od07]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od08]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od09]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od10]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od11]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od12]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od13]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od14]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od15]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od16]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od17]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od18]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od19]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[od20]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[onedrive-od01-crypt]
type = crypt
remote = od01:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od02-crypt]
type = crypt
remote = od02:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od03-crypt]
type = crypt
remote = od03:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od04-crypt]
type = crypt
remote = od04:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od05-crypt]
type = crypt
remote = od05:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od06-crypt]
type = crypt
remote = od06:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od07-crypt]
type = crypt
remote = od07:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od08-crypt]
type = crypt
remote = od08:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od09-crypt]
type = crypt
remote = od09:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od10-crypt]
type = crypt
remote = od10:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od11-crypt]
type = crypt
remote = od11:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od12-crypt]
type = crypt
remote = od12:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od13-crypt]
type = crypt
remote = od13:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od14-crypt]
type = crypt
remote = od14:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od15-crypt]
type = crypt
remote = od15:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od16-crypt]
type = crypt
remote = od16:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od17-crypt]
type = crypt
remote = od17:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od18-crypt]
type = crypt
remote = od18:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od19-crypt]
type = crypt
remote = od19:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-od20-crypt]
type = crypt
remote = od20:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-server01]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[onedrive-server01-crypt]
type = crypt
remote = onedrive-server01:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-server02]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[onedrive-server02-crypt]
type = crypt
remote = onedrive-server02:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

[onedrive-server03]
type = onedrive
token = XXX
drive_id = XXX
drive_type = business

[onedrive-server03-crypt]
type = crypt
remote = onedrive-server03:/Combine
filename_encryption = obfuscate
password = XXX
password2 = XXX

A log from the command that you were trying to run with the -vv flag

There are no errors, the command works so I don't think this question applies. 

I believe about 500Mbps is the max an upload to OneDrive can ever reach.

My server is on a 10Gbps link and only maxes out to about that value, when transferring 4 files at once.

Is there anything you see in my Rclone command that could improve stability/speed?

This is google drive flag. So you can remove it as it is ignored anyway.

Check docs as you might have to include --onedrive-delta.

In addition I would add --vfs-refresh for cache warming but it is optional.

Otherwise your mount looks ok.

2 Likes

And the most important:) Create your own clientIDs. Without it you are using shared one and it heavily impacts throttling.

You need separate one for every onedrive remote - when you have them recreate remotes from scratch providing created client_id/secret

2 Likes

Separate app registration or would a separate certificate/key be sufficient?

I would simplify all setup:


[od01]
type = onedrive
client_id = XXX
client_secret = XXX
drive_id = XXX
drive_type = business
token = XXX
...
[od20]
type = onedrive
client_id = XXX
client_secret = XXX
drive_id = XXX
drive_type = business
token = XXX

[OneDrive-combine]
type = combine
upstreams = od01:Combine ... od20:Combine

[OneDrive-crypt]
type = crypt
remote = OneDrive-combine:
filename_encoding = base32768
filename_encryption = standard
password = XXX
password2 = XXX

this way I would have only one crypt remote to worry about.

Not sure why you use filename_encryption = obfuscate as it is no names encryption at all. Onedrive works perfectly fine with base32768 encoding - mitigating file names restrictions. But at the end it is up to you:)

1 Like

Additionally, would I have to grant administrator consent, it is not mentioned on the docs, but just making sure.

I am not sure about this - the best would be to try with one remote first and check if all works before proceeding with all 20:)

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.