I have a network of Windows, Linux and Mac machines and I use rsync to
synchronize various directories between them.
I'm trying to figure out why my rsync transfers are so slow (<4 MB/s) only when
the remote endpoint is Cygwin rsync over sshd (with both a Linux or Cygwin
rsync client). In all other scenarios, I get the full 100MB/s as expected
from gigabit ethernet. This has been an ongoing problem for me for a couple of
years over several Windows and Cygwin versions, and I'd like to try to fix it.
If I run rsync --daemon --no-detach under mintty in the foreground on the
remote Windows endpoint, I get the full 100 MB/s transfers, so it seems like
it has something to do with rsync.exe running in the background under the
cygrunsrv+sshd service (which was installed normally using ssh-host-config).
If I do:
pv /dev/zero | ssh $WINHOST "cat > /dev/null"
or even
pv /dev/urandom | ssh $WINHOST md5sum
I also get the full 100 MB/s transfers, so it doesn't look like sshd itself is
being throttled by bandwidth or CPU.
The machines have less than 15% CPU utilization while transferring, with each
of the 4 cores less than 30%, so it doesn't look to be CPU issue.
In Task Manager, sshd.exe and rsync.exe seem to be running normally using only
few percent CPU, and show Power Throttling=Disabled, Priority=Normal. Setting
their Priority to High doesn't seem to change things.
Looking in Resource Monitor on the remote endpoint, the network usage is pretty
much a flat horizontal line at about 18 Mbps (2.5 MB/s), so it sure looks to me
as if rsync is somehow being bandwidth-throttled when run in the background
under cygsshd.
It's almost as if rsync has an implicit --bwlimit override when it is run from
cygrunsrv+sshd (I've tried --bwlimit=0 on the client which makes no difference).
Any ideas? Not sure where to go from here.
Thanks,
-- Chris
Windows 10 v2004 (64-bit)
CYGWIN_NT-10.0 .... 3.2.0(0.340/5/3) 2021-03-29 08:42 x86_64 Cygwin
rsync version 3.2.4dev protocol version 31
Linux Mint 20
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple