Here's the other direction with rsync also in --daemon mode:
# ON WINDOWS (from a mintty terminal): dd if=/dev/urandom of=/tmp/bigfile.bin bs=1M count=2000 # create 2GB file printf "[TMP]\npath = /tmp\n" > /etc/rsyncd.conf # create rsyncd.conf rsync --daemon --no-detach # run rsync in daemon mode # ON LINUX: rm -f /tmp/bigfile.bin; rsync -Pva $WINHOST:/tmp/bigfile.bin /tmp/ # 4MB/s rm -f /tmp/bigfile.bin; rsync -Pva rsync://$WINHOST/TMP/bigfile.bin /tmp/ # 100MB/s I was thinking that there might be some Windows Policy that rate-limits some syscalls for background process, but I also tried: # ON WINDOWS (Administrator mintty): cygrunsrv -E cygsshd # exit sshd service /usr/sbin/sshd -D # run sshd in "foreground" (GUI app) and I still get 4MB/s. Maybe some IPC rate-limit issue between sshd and rsync (but that isn't there between e.g. sshd and md5sum... ?) On Tue Aug 24 2021, at 7:02 PM, NightStrike <nightstr...@gmail.com> wrote: > Older versions of windows had a setting to optimize the OS for either > background services or foreground applications. One of the things this did > was throttle network usage. I don't know if windows 10 has the same setting > though. I read about a NetworkThrottlingIndex that limits "non-multimedia" packets to 10 per millisecond which can be disabled by setting: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile] "NetworkThrottlingIndex"=dword:ffffffff but this made no difference to my tests. On Tue Aug 24 2021, at 5:35 PM, Chris Roehrig <croeh...@house.org> wrote: > Here's my test in a nutshell: > > # ON WINDOWS: install Cygwin and enable cygsshd > ssh-host-config -y > # set up authorized keys, etc to make things easier > > # LINUX: Create a 2GB random file on Linux: > dd if=/dev/urandom of=/tmp/bigfile.bin bs=1M count=2000 > > # WINDOWS: rsync "pull" to cygwin > LINUXHOST=mylinuxhost > rsync -Pva $LINUXHOST:/tmp/bigfile.bin /tmp/ # 100MB/s full > speed > rm /tmp/bigfile.bin > > # LINUX: rsync "push" to cygwin (from Linux machine) > WINHOST=mywindowshost > rsync -Pva /tmp/bigfile.bin $WINHOST:/tmp/ # slow, > dropping to 4MB/s > > > I get the same results transferring the other direction (WIN -> LINUX): The > Cygwin remote endpoint is always slow. > > > > > > On Tue Aug 24 2021, at 4:43 PM, Mark Geisert <m...@maxrnd.com> wrote: > >> Chris Roehrig wrote: >>> 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. >> >> You're not the first to report this. I don't have any quick answer. But >> can you give one or two simple examples of commands that give slow transfers >> in your environment? Simple like your 'pv' examples, if possible, using >> whatever method that works. >> >> ..mark >> >> -- >> 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 > > > -- > 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 -- 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