Re: Ssh.. can we please have HPN back?

From: Allan Jude <allanjude_at_freebsd.org>
Date: Mon, 22 May 2017 12:13:46 -0400
On 2017-05-22 03:50, Julian Elischer wrote:
> On 22/5/17 2:20 pm, Allan Jude wrote:
>> On 2017-05-18 22:28, Julian Elischer wrote:
>>> So after stripping out the HPN version of ssh from our product becasue
>>> "it was no longer needed" we dicovered that we were premature in
>>> doing so.
>>> Apparently ssh still really needs HPN to get any throughput at all when
>>> there are latencies involved.
>>>
>>>
>>> For example, with HPN we get 13MB/sec between the Azure US west
>>> Data center and the Azure East data center.But the standard ssh in 10.3
>>> (with HPN stripped out) can barely manage 2MB/sec transfers.
>>>
>>> I did ask at the time whether it was proved that the new ssh didn't
>>> require the HPN changes,
>>> and was assured, "no" but it would appear that the picture isn't as
>>> clear.
>>> tht seems silly to have to import the port when we have what would
>>> otherwise be a
>>> perfectly good ssh as part of hte system, and it's really annoying
>>> having to specify
>>> /usr/local/bin/scp  or /usr/local/bin/ssh in every script.
>>>
>>> So can we please have the latest version of the HPN changes back in the
>>> default system please?
>>> It seem rather odd that the upstream openssh has had this problem for SO
>>> LONG and not fixed it.
>>>
>>> Julian
>>>
>>>
>>> _______________________________________________
>>> freebsd-current_at_freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current
>>> To unsubscribe, send any mail to
>>> "freebsd-current-unsubscribe_at_freebsd.org"
>> I have this stand-alone patch ready now:
>>
>> https://github.com/openssh/openssh-portable/compare/master...allanjude:V_7_5_dynamic_window
>>
>>
>> In my benchmarks with 100ms of latency (from dummynet) is increases SSH
>> send throughput from 1 megabyte/sec to 225 megabytes/sec provided a
>> large enough socket buffer.
>>
>> Still seeing lesser performance on the recv case, working on it.
> 
> We have two patches of our own that upstream have ignored   an option to
> set NoDelay   and a pushwindow setting option
> (though I'm not sure the second is operational in the current code, it
> does apply with no errors...)
> 
> The NoDelay options massively speeds up the case where you have chatty
> back and forth traffic (client/server) through a ssh tunnel.
> 
> Are your changes against the sources in current?  what about stable/10?
> 
>>
> 

That change is against upstream's latest release, but should apply
cleanly to any version of OpenSSH from the past 10 years that does not
have the HPN patches applied already.

However, the function channel_check_window() in stable/10 is currently
the same as the latest upstream since the commit that removed HPN. The
function is actually unchanged from upstream if you go back far enough
to before we added HPN as well.

If you revert both HPN commits, the most recent change to that function
is Aug 2008, when upstream introduced the 'move the window forward every
3 packets' thing that seams to be the main cause of the window scaling
problem in the first place. I think the nodelay option might be what
mitigates that, as it causes rapid back and forth and never allows the
window to grow to even the 2mb allowed by SSH since version 4.7


-- 
Allan Jude


Received on Mon May 22 2017 - 14:13:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC