Backup performance tuning

From MsgServerDocWiki

Jump to: navigation, search

Backup performance tuning hints/tips

(Provided by Jeff Wasilko from Tufts University)

We've been working really hard to improve our backup performance. I
thought I'd capture what we've done so far. We've been able to nearly
double our throughput to 35-37MB/second. We were well below 20MB/sec a
few months ago

1) If you're running Sun Cluster, do not use the "Global" (aka pxfs)
filesystem for mail store partitions. If you do, you'll be CPU-bound.

2) Set the noatime option on your mail spool partitions. This will
eliminate a write to update the access time at every read and was a win
for us.

3) If you are using Legato Networker, or any other backup software that
uses imsbackup in a pipeline make sure you apply the fifofs (pipe)
performance patch. It's patch 117471 for Solaris 9 and patch 109454 for
Solaris 8. This patch improved our backup performance by nearly 10MB/sec.

4) If you are using Legato Networker (version 7.1) and doing
disk-to-disk backups, do not use the "Advanced File Type" device. This
device type uses the nsrfile packet size to write to disk, so disk write
block sizes end up between 2KB and 8KB, which will totally kill
performance. We don't know if the same problem exists in later versions
of Networker. This improved our tape cloning performance from about
20-24MB/sec to 50-70MB sec. We also found that running one nsrmmd
process per CPU to maximize performance.

5) Consider increasing the imsbackup blocksize from the default of 10KB.
My testing showed a sweet spot at 64KB (-b 128). A block size of 128KB
(-b 256) was sometimes faster, and sometimes slower. If you're using
imsasm, you'd make the change in /usr/lib/nsr/imsasm, and you need to
change it for imsrestore as well. Here's a table of my test results:

blocksize     Sys     User     Wall Clock
default     15.16     37.69     07:22.3
default     14.15     36.07     06:26.2
default     14.56     37.57     06:59.9
default     14.85     35.86     07:32.9
default     14.26     36.88     06:00.6
default     14.37     37.35     05:11.1
-b 64         13.28     34.28     05:18.6
-b 64         12.14     32.69     04:51.7
-b 64         12.29     33.59     04:26.7
-b 64         12.12     34.38     04:29.9
-b 64         12.77     34.27     04:27.7
-b 64         12.53     32.84     04:34.4
-b 128         12.59     31.06     04:43.1
-b 128         12.71     34.82     04:16.4
-b 128         12.42     27.12     04:13.5
-b 128         11.87     32.54     04:35.6
-b 128         11.98     33.73     04:31.6
-b 128         11.45     34.65     04:13.8
-b 256         11.72     26.63     04:12.0
-b 256         11.89     25.09     04:02.2
-b 256         12.68     27.23     04:29.1
-b 256         11.96     28.95     04:09.9
-b 256         12.46     30.6     05:04.4
-b 256         11.86     26.79     05:13.6
-b 512         11.93     26.38     04:16.4
-b 512         11.69     27.81     04:26.2
-b 512         12.44     26.12     04:42.7
-b 512         11.37     26.23     04:24.4
-b 512         12.04     34.09     04:51.5
-b 512         11.56     27.03     04:27.3



Other items we're looking at are:

1) adding more spindles to our disk-to-disk array to improve write performance

2) Use jumbo frames to improve network performance and reduce CPU overhead
Personal tools