I am transporting lots of data with rsync from a Linux client to a NAS, both machines are connected via fast (100 Mbit) Ethernet. The NAS is a Linux-based "slow-CPU" D-Link DNS-323 with telnet and rsync support added. rsync is running as daemon on this box. I would like to speed up the transfer, if possible

The performance bottleneck is the NAS CPU, it is constantly 0% idle. ifstat reports an eth0 throughput of about 7 Mbyte/sec on the client, so the link is not yet saturated, I understand the NAS can handle up to 12 Mbyte/sec on fast ethernet.

I run rsync, both on client and NAS, with defaults, not explicitly enabling or disabling compression or encryption. I do not tunnel via ssh.

This is the rsyncd.conf on the NAS:

port = 873
use chroot = yes
pid file = /ffp/var/run/rsyncd.pid
path = /mnt/HD_a2/backup
comment = Backup
read only = no

The daemon is started with

--daemon --config=/ffp/etc/rsyncd.conf 

command line arguments.

The client command line is plain

rsync -r -v <dir> rsync://<nas-ip>:873/backup 

Is there a way to reduce load on the NAS so that ultimately the network becomes the bottleneck?

  • 1
    rsync doesn't encrypt or compress out of the box. what command line switches are you using? – RobotHumans Nov 30 '10 at 19:43
  • I edited the question to list command line switches. – Bernd Nov 30 '10 at 19:59

For what you are doing with the DNS-323 (rsync over TCP), you are pretty much getting the expected throughput - which is actually put at nearer 5.5MB/Sec according to this page. I get similar speeds as you with rsync and my DNS-323.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.