sshnet / sshnet/SSH.NET

Low throughput for sFTP over high latency high bandwith network

Offen
#1,122 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C#
Sterne
4.4k
Forks
993
Ø Merge
9 T. 21 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Our client (that uses ssh.net) runs on AWS and the sftp server is hosted on Prem, and our uploads are multi-threaded.
We use the default UploadFile() method, which through various tests seem to perform the best on this network.

We however are seeing that the performance is way below par when compared to the sftp command from openssh for a single thread.
Like 3 times slower.
And with multiple threads, it goes crazy slow, to the point that the total throughput from all the threads are lower than that it gets from a single thread.

OpenSSH's sftp command on the other hand scales quite well.

Open SSH has a patch called HPN-SSH for such networks, not sure if something can be inspired from that.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem standardmäßigen UploadFile()-Pfad des SFTP client und profiliere einen einzelnen Upload über ein Netzwerk mit hoher Latenz; vergleiche ihn anschließend mit dem im Issue beschriebenen Verhalten von OpenSSH sftp. Reproduziere den Fall mit mehreren Threads und miss, ob der aggregierte Durchsatz abnimmt, wenn Threads hinzugefügt werden; abgeschlossen ist die Aufgabe, wenn die Ursache identifiziert wurde und der Durchsatz verbessert oder die Einschränkung dokumentiert ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
networking, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.