Hi All,
LONNNNNNNNNNG time rclone user (early 2018) and I have a modest (100+TB) plex library sitting in google.
I have been using rclone for a long time and specifically the implementation of Cache. I have taken some time to do some Christmas clean up on my environment and have noticed that CACHE will be deprecated shortly and to use VFS instead. I have taken a stab at putting VFS in, and I have reviewed a lot of threads of how to use VFS and am still not able to get anywhere near the performance (specifically listing directories and contents) of CACHE with VFS.
Im hoping that this thread can be not only for myself but a placeholder for others to use as a default set of recommendations.
With some INCREDIBLY BASIC troubleshooting, when mounting without cache, opening my TV directory takes ~7minutes (based on -vv outputting each folder name as it index's it and then refreshes explorer).
With cache this is near instant.
What is the problem you are having with rclone?
looking for recommended settings to ensure fast listing of directories and access on par with cache
What is your rclone version (output from rclone version)
that has already is the case, for many months now.
fwiw, i run a emby server locally to stream from a seedbox.
i do not use the vfs file cache, in effect --vfs-cache-mode=off
note: rclone has two vfs caches.
i wrote a short post about it here
--- one option is to use --network-mode, as this will prevent windows explorer from generating thumbnails.
--- @VBB has a way to prime, the vfs dir cache, hopefully IT can stop soon by and explain.
Anywho, seems this topic comes up at least once every two weeks
Here's some copypasta, courtesy of yours truly:
Here are the three batch files I use. The first one is a read-only mount, which stays up until I get a chance to update it with a newer (beta) version of Rclone. So, if no one is watching at the time, I do this about once a day:
@echo off title Rclone Mount READ ONLY D:\Programs\Rclone\rclone mount --attr-timeout 5000h --dir-cache-time 5000h --drive-pacer-burst 200 --drive-pacer-min-sleep 10ms --no-checksum --poll-interval 0 --rc --read-only --user-agent ******* -v Google_Drive_Crypt: G: pause
Note the --rc flag, as that is necessary for the prime command to find the mount. And here it is:
@echo off title Rclone Prime D:\Programs\Rclone\rclone rc vfs/refresh recursive=true --drive-pacer-burst 200 --drive-pacer-min-sleep 10ms --timeout 30m --user-agent pause
I run the above about once a day, usually after all uploads are done and I'm about to run a Plex scan. Lastly, here's my read-write mount, which I use for moving things around after uploading:
@echo off title Rclone Mount READ/WRITE D:\Programs\Rclone\rclone mount --drive-pacer-burst 200 --drive-pacer-min-sleep 10ms --user-agent ******* -v Google_Drive_Crypt: F: pause
ok but why not just use one mount for both use-cases? streaming and file copy/move?
in other words, what is the reason for a dedicated mount using --read-only?
I prefer having a read-only mount for Plex, because I feel it allows for the fastest access times (with the appropriate flags), and I don't have to worry about accidentally deleting stuff.
Thank you very much for your reply and I have no doubt that it comes up regularly. With a lot of data being relied on its important to get the right setup working.
I will absolutely use your first 2 as I have other avenues of dropping content into the drive. Thank you very much and I will report back what I find
On initial review, it doesn't appear that the mount that you are using to access the library (Rclone Mount READ ONLY) uses VFS at all. My presumption is that you are using this as your library location. Do you not run into issues with slowness / API limits / general unresponsive issues? Is this overcome by the Rclone Prime action?
You're correct. I do not use the VFS cache, and I've never run into any issues, although my last initial Plex scan was back in 2017. The priming (directory cache) helps tremendously with Explorer listing and therefore media scans. I've also been running additional media analysis every night for the past six months or so without running into API limits.
You might have noticed that my main mount is read-only, so feel free to change that to whatever suits you. For a writeable mount, --no-checksum does not make sense, so I'd recommend removing that, along with --poll-interval 0.
Thanks, i did note that and the mount I do locally - read only is fine.
I have started to recreate my plex database on this new machine (for reasons). I have currently started the scan based on your settings and thus far its seems to be working well.
Can I please ask how you are scheduling and running your commands? My plex work has been always on linux and used crontab or process monitoring software, yours appears to be a windows install? This new box is also a windows box - are you just doing scheduled tasks?
Absolutely i did mate, and i read your post too on the 2 diff caches of VFS (I think I had seen the same post before too).
Fingers crossed that the works that VBB has done and the common position from yourself of not needing VFS cache for just the reading of the mount will serve as a best practice for all people to use.
I do everything manually, except for the scheduled tasks from within Plex itself. The mounts and prime commands are run as batch files, also manually, and they stay open until I close them. All downloading, uploading, moving around, etc. are also done by hand. Can you tell I'm a glutton for punishment?
for completeness this is my mount command which is running. i would expect to have had some output in the VFS Refresh console though - any ideas why its not?
Makes sense that RC didn't work, because you set a user/password combo. The IP you can probably omit, since you're using the default port anyway, but if it works, just leave it like you have it now.
Unfortunately, there is no visible progress while priming. So, as long as you have an appropriate amount of minutes set as timeout, it will finish. Mine takes about 4-5 minutes.
yup added auth to both so now that seems to at least allow the GUI to work. i will report back in half hour (I guess that's when the timeout happens) based on --timeout 30m and see if error is still around.
----edit-----
of course it just finished when reading this message.