Description
Asyncssh is going to be improved to add a better default block size for file transfers by querying the server for the maximal supported one. In my case, this results in a block size of 256 KiB and a speedup of ~3x compared to a block size of 48 KiB.
However, it is very hard to make use of that improvement via sshfs because sshfs.SSHFile
always overwrites the block size. If nothing is specified from the user, it overwrites the block size to 48 KiB. In order to create the benchmarks in #2 (comment), I currently disable the line with block_size=self.blocksize // self.max_requests,
. But, this is only a quick hack, not a viable production-ready solution.
I think that if nothing is specified, then nothing should be overwritten for asyncssh. I see that it might pose a problem to initialize self.blocksize
in this case, but I believe that this is only a performance-critical, so it could simply be set to some sensible guessed value in that case.