i did some quick testing, and got an interesting result, tho not sure exactly what is implies.
on local laptop, approx 1,000,000 files in one folder.
on s3, using wasabi, have the same set of files.
on local, windows explorer takes approx. 12 seconds to view the 1,000,000 files.
so that shows windows explorer can handle 1,000,000 files in a single folder
rclone mount wasabi01:source.1000000 b:\rclone\mount\source.1000000 --read-only --dir-cache-time=5000m --rc --rc-no-auth --log-level=DEBUG --log-file=.\log.mount.source.1000000.txt
- run
rc vfs/refresh recursive=true
, took approx. 70 seconds
- now,
rclone mount
is now using over 4GiB memory.
- using windows explorer to view the folder, progress bar moves at a steady state, 50% complete in 30 seconds and then the progress bar slows down and seems to stop at 95%
- now,
rclone mount
is using 80% cpu, tho memory is less at 3GiB
seems that rclone is stuck or what?
and here is the debug log,
notice 2022/12/13 18:01:22 DEBUG : /: Readdir: ofst=0, fh=0x2
that has not changed in 30+ minutes.
2022/12/13 17:58:57 DEBUG : rclone: Version "v1.60.0" starting with parameters ["c:\\data\\rclone\\rclone.exe" "mount" "wasabi01:source.1000000" "b:\\rclone\\mount\\source.1000000" "--read-only" "--dir-cache-time=5000m" "--rc" "--rc-no-auth" "--log-level=DEBUG" "--log-file=.\\log.mount.source.1000000.txt"]
2022/12/13 17:58:57 NOTICE: Serving remote control on http://localhost:5572/
2022/12/13 17:58:57 DEBUG : Creating backend with remote "wasabi01:source.1000000"
2022/12/13 17:58:57 DEBUG : Using config file from "c:\\data\\rclone\\rclone.conf"
2022/12/13 17:58:57 INFO : S3 bucket source.1000000: poll-interval is not supported by this remote
2022/12/13 17:58:57 DEBUG : Network mode mounting is disabled
2022/12/13 17:58:57 DEBUG : Mounting on "b:\\rclone\\mount\\source.1000000" ("wasabi01 source.1000000")
2022/12/13 17:58:57 DEBUG : S3 bucket source.1000000: Mounting with options: ["-o" "attr_timeout=1" "-o" "uid=-1" "-o" "gid=-1" "--FileSystemName=rclone" "-o" "volname=wasabi01 source.1000000"]
2022/12/13 17:58:57 DEBUG : S3 bucket source.1000000: Init:
2022/12/13 17:58:57 DEBUG : S3 bucket source.1000000: >Init:
2022/12/13 17:58:57 DEBUG : /: Statfs:
2022/12/13 17:58:57 DEBUG : /: >Statfs: stat={Bsize:4096 Frsize:4096 Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Favail:0 Fsid:0 Flag:0 Namemax:255}, errc=0
2022/12/13 17:58:57 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 17:58:57 DEBUG : /: >Getattr: errc=0
2022/12/13 17:58:57 DEBUG : /: Readlink:
2022/12/13 17:58:57 DEBUG : /: >Readlink: linkPath="", errc=-40
2022/12/13 17:58:57 DEBUG : /: Getxattr: name="non-existant-a11ec902d22f4ec49003af15282d3b00"
2022/12/13 17:58:57 DEBUG : /: >Getxattr: errc=-40, value=""
The service rclone has been started.
2022/12/13 17:58:57 DEBUG : /: Statfs:
2022/12/13 17:58:57 DEBUG : /: >Statfs: stat={Bsize:4096 Frsize:4096 Blocks:274877906944 Bfree:274877906944 Bavail:274877906944 Files:1000000000 Ffree:1000000000 Favail:0 Fsid:0 Flag:0 Namemax:255}, errc=0
2022/12/13 17:58:57 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 17:58:57 DEBUG : /: >Getattr: errc=0
2022/12/13 17:58:57 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 17:58:57 DEBUG : /: >Getattr: errc=0
2022/12/13 17:58:57 DEBUG : /: Opendir:
2022/12/13 17:58:57 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2022/12/13 17:58:57 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2022/12/13 17:58:57 DEBUG : /: >Opendir: errc=0, fh=0x0
2022/12/13 17:58:57 DEBUG : /: Releasedir: fh=0x0
2022/12/13 17:58:57 DEBUG : /: >Releasedir: errc=0
2022/12/13 17:59:05 DEBUG : rc: "vfs/refresh": with parameters map[recursive:true]
2022/12/13 17:59:05 DEBUG : : Reading directory tree
2022/12/13 18:00:17 DEBUG : : Reading directory tree done in 1m11.9103984s
2022/12/13 18:00:17 DEBUG : rc: "vfs/refresh": reply map[result:map[:OK]]: <nil>
2022/12/13 18:01:21 DEBUG : /.sync/FolderType: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:21 DEBUG : /.sync/FolderType: >Getattr: errc=-2
2022/12/13 18:01:21 DEBUG : /.sync/ID: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:21 DEBUG : /.sync/ID: >Getattr: errc=-2
2022/12/13 18:01:21 DEBUG : /.sync/FolderType: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /desktop.ini: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /.sync/FolderType: >Getattr: errc=-2
2022/12/13 18:01:22 DEBUG : /.sync/ID: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /desktop.ini: >Getattr: errc=-2
2022/12/13 18:01:22 DEBUG : /.sync/ID: >Getattr: errc=-2
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Opendir:
2022/12/13 18:01:22 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2022/12/13 18:01:22 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2022/12/13 18:01:22 DEBUG : /: >Opendir: errc=0, fh=0x0
2022/12/13 18:01:22 DEBUG : /: Releasedir: fh=0x0
2022/12/13 18:01:22 DEBUG : /: >Releasedir: errc=0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Opendir:
2022/12/13 18:01:22 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2022/12/13 18:01:22 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2022/12/13 18:01:22 DEBUG : /: >Opendir: errc=0, fh=0x0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Opendir:
2022/12/13 18:01:22 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2022/12/13 18:01:22 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2022/12/13 18:01:22 DEBUG : /: >Opendir: errc=0, fh=0x1
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Getattr: fh=0xFFFFFFFFFFFFFFFF
2022/12/13 18:01:22 DEBUG : /: >Getattr: errc=0
2022/12/13 18:01:22 DEBUG : /: Opendir:
2022/12/13 18:01:22 DEBUG : /: OpenFile: flags=O_RDONLY, perm=-rwxrwxrwx
2022/12/13 18:01:22 DEBUG : /: >OpenFile: fd=/ (r), err=<nil>
2022/12/13 18:01:22 DEBUG : /: >Opendir: errc=0, fh=0x2
2022/12/13 18:01:22 DEBUG : /: Readdir: ofst=0, fh=0x2