Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extreme slow copy speed from Windows client to server for many small files #1

Open
Nyanraltotlapun opened this issue Jan 24, 2019 · 2 comments

Comments

@Nyanraltotlapun
Copy link

Setup:
Windows 10 x64
libnfs=master fuse-nfs=master dokany=v1.2.1.2000
Dokany from corresponding x64 msi installer
FreeBSD NFSv3 server with mapall=nobody:nobody
Connect command:
fuse-nfs.exe -n nfs://ip/main-zpool/share -m E:
(I also tried different options R -W (set to small values(9000) and to big values(500000), -H -A etc no difference)

Problem:
Extreme slow copy speed from Windows client to server for many(1240) not so small (around 1Mb) files. Speeds starts at 10-12Mb\s and ends at 2Mb\s.
Linux client do this blazing fast, with the same files.
And the NFS-Win port https://github.com/billziss-gh/nfs-win that is based on the same nfs lib give me around 50Mb\s
Same results for total commander and explorer copy.
For big file i get around 60Mb\s but NFS-Win give me 80+Mb\s

Assumption:
It seams to me that after each file copy fuse-nfs or docan or somting is requesting full dir list from the server. Or perhaps it is permissions mapping problem...

@Daniel-Abrecht
Copy link
Owner

Thanks for the detailed report.

I'm quiet busy right now, so it will probably not get to analyze this further any time soon. There are a lot of things that could contribute to this. The last release of nfs-win was before fuse-nfs handled everything asynchronously, nfs-win uses cygwin instead of mingw, and of course, the fuse driver is a different one. All this could change how much overhead there is.

But I think your assumption is pretty likely. Additional rpc requests would have a very significant effect. The fuse wrapper of dokany has only seen very small changes over the last view years, and there are probably a few things that could be improved. And since it's a different fuse-wrapper/driver than the one NFS-Win uses, it is going to do some things different. The situation may get even worse with version 2.0.0 of dokany.

In any case, to improve the situation probably won't be easy, and it's probably going to be a lot of work.

@ghost
Copy link

ghost commented Aug 31, 2019

I also suffer from slow speeds specially when entering directories with many media files and getting thumbnails from pictures/videos. It also overloads my OpenWrt devices (NFS server) where a NFS Linux client or Samba client on Windows using same server does not.

I did not test against NFS-Win because couldn't get that to work, I get The network path was not found

I think the assumption of 'constant' directory listing request is very likely.

UPDATE: Just a follow up, I got the NFS-Win working and it's so much faster when entering directories with many media files as described above. File listing takes a few seconds but thumbnails get created so much faster. (thumbnail cache was cleared for testing)
File copying speed is not much different if files are a considerable size, but with many smaller files like was said before the speed difference is considerable faster when using NFS-Win and WinFsp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants