Rsync quite slow (using very little cpu): how to improve its speed?
I have "inherited" a OmniOS (illumos based) server.
I noticed rsync is significantly slower in respect to my reference, FreeBSD 12-CURRENT, running on exactly same hardware.
Using same hardware, same command with same source and target disks, OmniOS r151026 gives:
In FreeBSD 12-CURRENT:
- I noticed that, under FreeBSD, rsync was running as 3 processes, all with nice=0, two of them consistently using 50% to 70% CPU time.
- On OmniOS rsync was also running as 3 processes, also with nice=0, but each one never more than 3%.
Probably different CPU usage is the reason execution time on same hardware is so different on FreeBSD and illumos?
I tried to renice the rsync process, to -20, with similar results.
I am also aware of priocntl and scheduling classes, but I was unable to change the speed.
How can I improve `rsync` execution time?
Thank you in advance.
Last edited by priyadarshan; 06-02-2018 at 11:22 AM..
Is this a local or remote rsync? Does this involve a network protocol? Or are you rsync'ing between local disks?
If it is remote, then poor performance can be caused by the operating system delaying ACK's (in trying to aggregate them into one packet). AIX and Solaris in particular try to do this.
Thank you very much for your thoughts on this issue. The rsync is between two local disks, source is a 8-disk vdev, target an ssd. No network involved.
I am travelling and will be able to connect to server on Tuesday, but I will test using only 1 file, source and target on same local disk, to eliminate as many factors as possible.
That rsync is slow while using very little CPU points to an I/O bottleneck. They're spending most of their time waiting for disk. Maybe your system ended up using a fallback driver of some sort.
I think rsync uses 3 processes, and the hand-shakes between them might not be optimal in a Solaris-based OS.
The Internet suggests to use -W option to reduce hand-shakes. Also an upgrade to rsync > 3.0 might help.
This User Gave Thanks to MadeInGermany For This Post:
Thanks to the advice received here, I was able to refine testing, and believe now it could be an issue with OmniOS rsync in core. I have opened a ticket on github.com (omniosorg/omnios-build/issues/820). I will report back here.
Gents,
Please can u help me to improve this script to be more faster, it works perfectly but for big files take a lot time to end the job..
I see the problem is in the step (while) and in this part the script takes a lot time..
Please if you can find a best way to do will be great.
... (13 Replies)
I had written a perl script to compare two files: new and master and get the output of the first file i.e. the first file: words that are not in the master file
STRUCTURE OF THE TWO FILES
The first file is a series of names
ramesh
sushil
jonga
sudesh
lugdi
whereas the second file (could be... (4 Replies)
Hi All,
I have RHEL 5.6 with a 70GB local directory of Web content. Images, PHP scripts etc.
I need to copy all this content to an NFS array thats mounted on the RHEL server.
I did a baseline cp to copy the content one week ago. Since my baseline copy the local directory has grown by 8GB.... (2 Replies)
Hey together,
You should know, that I'am relatively new to shell scripting, so my solution is probably a little awkward.
Here is the script:
#!/bin/bash
live_dir=/var/lib/pokerhands/live
for limit in `find $live_dir/ -type d | sed -e s#$live_dir/##`; do
cat $live_dir/$limit/*... (19 Replies)
Need to make a very fast file existence checker. Passing in 20-50K num of files
In the code below ${file} is a file with a listing of +20,000 files. test_speed is the script. I am commenting out the results of <time test_speed try>.
The normal "test -f" is much much too slow when a system... (2 Replies)
We have an egrep search in a while loop.
egrep -w "$key" ${PICKUP_DIR}/new_update >> ${PICKUP_DIR}/update_record_new
${PICKUP_DIR}/new_update is 210 MB file
In each iteration, the egrep on an average takes around 50-60 seconds to search. Ther'es nothing significant in the loop other... (7 Replies)
Need to find the CPU speed of HP UX for a non root login.
echo "itick_per_usec/D" | adb /stand/vmunix /dev/mem | tail -1 will give the following for non root users
ERROR: cannot open `/dev/mem', errno = 13, Permission denied (2 Replies)
Hello, everyone:
i encounter a problem these days , pls help me ,thanks in advance.
my env:
machine: ES40 A ES40 B
os: true64 Unix 4.0f
note: src.tar 8M network card speed 100M
my problem:
... (3 Replies)