On Wed, Nov 25, 2020 at 7:04 PM Daniel P. Berrangé <berrange(a)redhat.com> wrote:
In testing the "vol-download" command in virsh, downloading a
1G file takes a ridiculous amount of time (minutes) with the
new SSH helper.
After the first patch is applied the time gets down to a much
more reasonable 5.5 seconds on my test machine.
By comparison netcat achieved 4 seconds.
After applying the second patch, the time is reduced to 3.5
seconds, so we actually end up beating netcat, as long as
we have glib >= 2.64.0 available.
Daniel P. Berrangé (2):
remote: make ssh-helper massively faster
util: avoid glib event loop workaround where possible
I tested both patches and they didn't bring any new regressions as far
as my tests went.
The former issues of slow migration and vol-download are fixed and
speed is now roughly on-par with the old netcat mode.
Tested:
- vol-download local
- vol-download remote
- migration with explicit native transfer ?proxy=native
- migration with auto-mode selection
- virsh console
I also tested migrations with between patched and older versions:
- patched <-> 6.6 - fall back to netcat (expected and ok).
- patched -> 6.9 - slow (as before)
- 6.9 -> patched - fast (which is good as upgrade paths use migration
and it is sufficient to upgrade the target)
Tested-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
Thank you Daniel!
src/remote/remote_ssh_helper.c | 113
++++++++++++++++++++-------------
src/util/vireventglib.c | 29 ++++++---
2 files changed, 89 insertions(+), 53 deletions(-)
--
2.25.4
--
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd