Skip to content

Use the default block size of asyncssh instead of overwriting it to 48 KiB #49

Open
@mxmlnkn

Description

@mxmlnkn

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions