zhanghai / zhanghai/MaterialFiles

Much slower SFTP transfer speed

Open
#895 6 comments 0 reactions 0 assignees View on GitHub

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

Screenshot_2023-01-01-17-27-30-070_me.zhanghai.android.files-edit.jpg


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.
IMG_20230101_174148.jpg


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


For download speeds, theres also quite a difference.
Screenshot_2023-01-01-18-03-23-336_me.zhanghai.android.files-edit.jpg
IMG_20230101_180053.jpg
IMG_20230101_180021.jpg

  • 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.