zhanghai / zhanghai/MaterialFiles
Much slower SFTP transfer speed
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 9k
- Forks
- 736
- PR merge metrics
- No merged PRs in 30d
Description
I have switched from ES file explorer to Material files for a few months, And I realize theres a significant difference in file transfer speed.
Test environment:
SSH server
- Raspberry Pi 4B 2GB ram
- Ethernet connection
- 240GB SSD less than half filled
OpenSSH_8.4p1 Debian-5+deb11u1, OpenSSL 1.1.1n 15 Mar 2022
Test file: a 448MB .ts video file
Material files starts slow at about 500KB/s, as indicated by the system network activity (theres no transfer speed in the notification, just transfered/total infomation). Then raised the speed to about 2 MB/s. I have waited until the number settles. The system network activity meter has a refresh interval of about 5 seconds

On the other hand, ES file explorer has a transfer window stating the file transfer was done at 52MB/s. The system network activity meter agreed with it, saying that it was transfering at about 54MB/s.

And I have confirmed the speed by using termux and sftp. Also >45 MB/s

For download speeds, theres also quite a difference.



- Material files: N/A, system: 4.6MB/s
- ES file explorer: 55MB/s, system: 59.8MB/s
- Termux sftp: 47MB/s, system: 57MB/s
Material files transfer at 2-5MB/s fluctuating, but never reaches above 10MB/s
Why is there such a difference?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported SFTP upload and download comparisons using the listed Raspberry Pi, OpenSSH, 448MB file, Material Files, and Termux setup. Trace the app's SFTP transfer path and compare its behavior with the working clients; done means identifying the cause of the throughput gap and addressing it with verification against these measurements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile, networking, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100