Ssh.. can we please have HPN back?

Julian Elischer julian at freebsd.org
Mon May 22 17:03:19 UTC 2017


On 23/5/17 12:13 am, Allan Jude wrote:
> 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
>
>
great

I'll look at applying it at $JOB and let you know what happens .. 
assuming I can get the patch downloaded and applied.




More information about the freebsd-current mailing list