From owner-freebsd-current@freebsd.org Mon May 22 17:03:19 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 559EAD78934 for ; Mon, 22 May 2017 17:03:19 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 36B2D1637; Mon, 22 May 2017 17:03:18 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from Julian-MBP3.local (106-68-207-219.dyn.iinet.net.au [106.68.207.219]) (authenticated bits=0) by vps1.elischer.org (8.15.2/8.15.2) with ESMTPSA id v4MH3CR4089412 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 22 May 2017 10:03:16 -0700 (PDT) (envelope-from julian@freebsd.org) Subject: Re: Ssh.. can we please have HPN back? To: Allan Jude , freebsd-current@freebsd.org References: <65e88d85-ca38-26dc-fe0a-910db11d470b@freebsd.org> <79d47e21-b8d8-b6d3-f6e7-92380f1358c4@freebsd.org> <7d42b0b6-70da-6ae1-ad1f-bc67c3330957@freebsd.org> From: Julian Elischer Message-ID: <309189af-27ff-32c2-e7eb-5aea071574f6@freebsd.org> Date: Tue, 23 May 2017 01:03:07 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: <7d42b0b6-70da-6ae1-ad1f-bc67c3330957@freebsd.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2017 17:03:19 -0000 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@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>>> To unsubscribe, send any mail to >>>> "freebsd-current-unsubscribe@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.