Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm about to install a large and rather busy DB2 database on a server which uses XIV for (non-transaction log) storage. The server will be running Red Hat Enterprise Linux 5 (64 bit). Linux offers the choice between a number of I/O schedulers. Which of the I/O schedulers is most suitable for devices residing on an XIV storage system?

To me, it sounds like the "noop" scheduler (which does a minimum of clever tricks) is the obvious choice, because it leaves all the I/O-reorderings to the storage system. Am I right?

share|improve this question
1  
I have now had time to do some bonnie++ and fio benchmarks, and it seems that choosing staying with the default ("cfq") scheduler actually gives better numbers all along. Somewhat surprising. –  Troels Arvin Mar 17 '10 at 11:00
add comment

2 Answers

up vote 3 down vote accepted

Yes.

I suppose I could pad this answer out by saying "you should benchmark in your environment" but yea, pretty much any advanced SAN is going to be up to enough tricks that you should feed it the dumbest/raw stream possible and let it do its thing.

share|improve this answer
1  
+1: been there, done that, stuck with noop –  Javier Jan 29 '10 at 22:32
add comment

You should probably benchmark it using the same hardware in a non-production environment.

I did this on a moderately clever array (Dell Powervault MD3000) and found that the noop scheduler beat the default cfq by a significant bit on my workload.

It definitely depends on your workload, and may make no difference on some. From what I hear, the noop scheduler is better for devices that are either "clever" (raid controllers with lots of spindles etc) or very fast (SSDs)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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