[CentOS] IO Schedulers

Tue Jan 12 23:31:42 UTC 2010
JohnS <jses27 at gmail.com>

On Tue, 2010-01-12 at 17:00 -0600, Tim Nelson wrote:
> Greetings all-
> 
> I'm on a quest to do some serious tuning to some of my production systems. All are on CentOS 5.x ranging from 5.0 to 5.4. I've been reading up on the various IO schedulers available in the kernel and I'm hoping some of you can lend some insightful suggestions. I typically have three classes of system in production:
> 
> 1. Storage/DB - Backend nodes for the application servers, MySQL, NFS storage serving to frontend nodes (deadline?)
> 2. Web/SSL - Frontend nodes serving up web application (PHP/MYSQL), heavy SSL {en/de}cryption with both HTTPS/Apache as well as branch locations connecting via OpenVPN (cfq?)
> 3. Telephony/Communications - VoIP, usually Asterisk (full signaling + media services), massive context switching, very timing sensitive (Meetme conferencing, IAX2 trunk mode, etc) (deadline?)
> 
> In my reading, I've found most people recommend deadline for DB intensive systems. CFQ seems to be recommended for most other uses. Noop and as seem to be irrelevant. Is this correct or am I way off base?

You cant go by that.  What works for them prolly want work for you.

> I'm not currently under any enormous load on any of these systems, but I'm planning for growth and would like to see how different schedulers can make a difference.
> 
> I welcome your suggestions and experiences. :-)
> 
> --Tim
---
What is "nr _requests" for your DB Servers, honest you need many many
writes for this.
cat /sys/block/sda/queue/nr_requests

Really to be honest with you every machine is different, even if you
have 2 IBM pServers with the same harware.  I don't have any mysql
servers but I do run IBM DB2 with "nr_request @ almost 10000.  Not to
mention you could also tune your TCP/IP stack also.  Also using blockdev
to tune the disks.

No one really tell you exactly what you need.  BTW I have seen mysql
running @ a rate of over 10000 on nr_request.  Takes a bit of high end
hardware.

John