PowerShell / PowerShell/Win32-OpenSSH

Performance issue in 8.6

Open
#1,853 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
8.3k
Forks
819
PR merge metrics
No merged PRs in 30d

Description

"OpenSSH for Windows" version
8.6.0.0

Server OperatingSystem
Windows 10 LTSC

Client OperatingSystem
Windows 10 LTSC

Something puzzled me for months. Transfer rate is a third of what it should be on one way using scp. Network and machines handle gigabit ethernet normally (rates with samba are on par with gigabit eth, all drives are SSDs).

Machine A uses OpenSSH 8.1.0.0.
Machine B uses 8.6.0.0.
I tried with both OpenSSH's scp.exe and Linux's scp (WSL), getting the same results.

A sends to B: 34MB/s
B sends to A: 110MB/s
A receives from B: 110MB/s
B receives from A: 110MB/s

So basically, instead of sending a large file from A, I ssh into B and request the file from there, which is a bit annoying.

I upgraded machine A to OpenSSH 8.6 but the same happens. So I downgraded both machines to OpenSSH 8.1 and now the speed is good everywhere.

The machines, OSes, ssh keys, configurations, and the network haven't changed. I only downgraded to 8.1 to solve the issue. That being said, I do not claim the problem lies within 8.6 (I actually have no clue what's going on and I don't have the hardware at hand to try on some other systems). Maybe that's due to something completely unrelated.

Contributor guide

Open the contributing guide

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

Start by reproducing the directional transfer difference with scp.exe and Linux scp under WSL on Windows 10 LTSC, comparing OpenSSH 8.1.0.0 and 8.6.0.0. Measure transfers between the two machines in both directions and determine whether the regression is specific to 8.6; done means the cause is isolated or the required reproduction details are documented.

Written by the indexing model from the issue text.

Assessment

Domain
networking, operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.