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? 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
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
> 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:> I welcome your suggestions and experiences. :-)First and foremost, I think that the only correct answer to how to tune your system is "it depends". There are lots of factors at play, although disk access is one of the largest, if not the largest factor that can be tuned. There is no silver bullet answer here. You need to make one change at a time, measure your system performance and compare. Beginning with RHEL 5, you can select a different elevator algorithm for each block device .. which may be useful to you. If possible, I highly recommend the RH442 - Red Hat Enterprise System Monitoring and Performance Tuning class offered by Red Hat. It is very in depth and does a good job of covering material which by many respects is seen as "black magic". HTH, Barry