Thanks for the logs @prizi - it doesn't look like fast fingerprint helps much here - it will help the first time the fingerprint is checked, but the time will be cached in the object after that. It looks like the OS already read the time so we had it cached.
(If you are using s3 based backend then using --use-server-modtime
will make your mount a lot snappier at the expense of only seeing the times the objects were uploaded rather then their actual modtimes).
The problem seems to be in here
12:37:18.585687 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe(0xc0004da3c0): openPending:
12:37:18.589093 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe: vfs cache: checking remote fingerprint "701579568,2022-11-01 17:59:46 +0000 UTC,debebb104c00cbfb3b123c2f75299367" against cached fingerprint "701579568,2022-11-01 17:59:46 +0000 UTC,debebb104c00cbfb3b123c2f75299367"
12:37:18.589633 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe: vfs cache: truncate to size=701579568
12:37:19.417656 DEBUG : wasabi/media/apps/3d/zbrush/install: Added virtual directory entry vAddFile: "ZBrush_4R4_Installer_WIN.exe"
12:37:19.418188 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe(0xc0004da3c0): >openPending: err=<nil>
or
12:37:23.151494 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe(0xc000061100): openPending:
12:37:23.151494 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe: vfs cache: checking remote fingerprint "701579568,2022-11-01 17:59:46 +0000 UTC,debebb104c00cbfb3b123c2f75299367" against cached fingerprint "701579568,2022-11-01 17:59:46 +0000 UTC,debebb104c00cbfb3b123c2f75299367"
12:37:23.151494 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe: vfs cache: truncate to size=701579568
12:37:23.974167 DEBUG : wasabi/media/apps/3d/zbrush/install: Added virtual directory entry vAddFile: "ZBrush_4R4_Installer_WIN.exe"
12:37:23.974715 DEBUG : wasabi/media/apps/3d/zbrush/install/ZBrush_4R4_Installer_WIN.exe(0xc000061100): >openPending: err=<nil>
There is an 800ms gap here which is almost certainly networking. What was rclone doing since rclone already has the file cached here? It shouldn't need to make any network transactions.
There are 8 of these sequences in the log. For some reason 2 of them don't have any delay. The other 6 seem to have about 800ms delay. In total that is 4.8s which seems like it would go a long way to explaining this problem.
To get an idea of what is happening can you run your test with with --dump headers
as well as --vfs-cache-mode full --use-server-modtime --network-mode --buffer-size=0
please?
This will make an even more bulky log, but it will have the HTTP transaction of what rclone was doing which will hopefully give a clue.
Using --fast-fingerprint
is probably better than using a cache. With fast fingerprint there should be no need to make any transactions to the remote.
The difference it makes with S3 is that we need the modtime without it which is stored as metadata on the object. This takes an extra HEAD request to retrieve. However we only fetch it once and cache it in the object, so effectively we already have a fast fingerprint cache (at least for s3 though the other backends all cache stuff if it is expensive to calculate).