How do I improve my server disk performance

image_pdfimage_print

 

From http://www.ubuntu.com 

server runs rsnapshot multiple times a day to backup remote hosts. The actual incremental backup part takes very little time. The significant time is spent doing things like:-

/bin/cp -al /srv/rsnapshot/hourly.0 /srv/rsnapshot/hourly.1 

Which takes about 2 hours. I realise there are a bazillion tiny files in there.

Also when rsnapshot deletes an old backup this can take a long time:-

/bin/rm -rf /srv/rsnapshot/daily.6/

Which takes about half an hour.

My questions are as follows, configuration of server and some IO stats are detailed below. I can of course provide more debug info if necessary:-

How can I identify where the bottlenecks are?

Am I reaching the limits of what’s capable (IO wise) with this box?

Are there any performance tweaks I could make?

Should I use a different RAID level?

Would it make sense to swap two of the internal RAID disks (half of each mirror) with two ‘other halves of the other mirror’ on the external array?

Note: I’m somewhat not inclined to be doing things like compiling my own kernel. Ideally I’d like to stick on 10.04 LTS, unless there’s some magic in later versions that makes this all work a lot quicker.

Internally the server has 1x160GB SATA boot disk and 4x2TB disks:-

The four internal 2TB disks are in a software MD RAID10 setup:-