RE: Oracle RAC and IRQ Balance

  • From: "Walker, Jed S" <Jed_Walker@xxxxxxxxxxxxxxxxx>
  • To: Riyaj Shamsudeen <riyaj.shamsudeen@xxxxxxxxx>
  • Date: Mon, 10 Oct 2011 14:13:42 +0000

Hi Riyaj and William,
I'm not saying it is an issue, but we were advised that we should turn on IRQ 
balance on our RAC systems but someone in another team. It makes sense, but for 
whatever reason the default Linux Opsware build disables it. That made me 
wonder if there are problems with it. It sounds like a good idea and we do have 
one 5 node RAC that is constantly seeing high loads on several of the servers, 
so it made me wonder if we should try. On those particular servers segmentation 
offload is not on and I'm not sure if it is supported (old servers). The new 
servers I'll be migrating too has TCP segmentation offload turned on, and I've 
enabled IRA balance.

From: Riyaj Shamsudeen [mailto:riyaj.shamsudeen@xxxxxxxxx]
Sent: Sunday, October 09, 2011 11:01 AM
To: Walker, Jed S
Cc: oracle-l@xxxxxxxxxxxxx; rshamsud@xxxxxxxxx
Subject: Re: Oracle RAC and IRQ Balance

Hello Jed
   NIC cards interrupt CPU for the packet delivery. Of course, in a busy RAC 
database, there can be huge amount of network packets being transferred leading 
to high IRQs. If IRQs are pinned to be interrupted to one CPU, then latency in 
that CPU can cause issues as kernel threads need to be scheduled to serve the 
irqs only in that CPU.
   If you want IRQs to be pinned to one CPU, then you should make sure that no 
other process is scheduled to execute in that CPU. But, I see that 40% of usage 
in CPU in USER mode which indicates that this is probably not happening in your 
case.
  But, why is this important for you? Do you see network delays causing RAC 
performance issues? If yes, then I don't see an issue of IRQs being serviced by 
all CPUs. Also, I am surprised that this is not a default.

Cheers

Riyaj Shamsudeen
Principal DBA,
Ora!nternals -  http://www.orainternals.com - Specialists in Performance, RAC 
and EBS11i
Blog: http://orainternals.wordpress.com
Oracle ACE Director and OakTable member http://www.oaktable.com

Co-author of the books: Expert Oracle 
Practices<http://tinyurl.com/book-expert-oracle-practices/>, Pro Oracle SQL,  
Expert PL/SQL Practices<http://tinyurl.com/book-expert-plsql-practices>


On Mon, Oct 3, 2011 at 4:29 PM, Walker, Jed S 
<Jed_Walker@xxxxxxxxxxxxxxxxx<mailto:Jed_Walker@xxxxxxxxxxxxxxxxx>> wrote:
Back to my learning of RAC. Today, it was suggested that we turn on IRQBALANCE 
on our Oracle 11.2.0 RAC systems to help distribute the IRQ load, to hopefully 
help with performance. I did a check and can see that just one CPU appears to 
be handling all of these.
mpstat -P ALL 2
Linux 2.6.18-53.el5 (node-01)         10/03/2011

09:19:46 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   
%idle    intr/s
09:19:48 PM  all   14.30    0.00    3.04   23.54    0.25    1.27    0.00   
57.59  10903.06
09:19:48 PM    0   41.33    0.00    9.18   40.31    1.02    4.08    0.00    
4.08  10902.55
09:19:48 PM    1    2.55    0.00    0.51   14.29    0.00    0.00    0.00   
82.65      0.00
09:19:48 PM    2   12.24    0.00    2.04   34.18    0.00    0.00    0.00   
52.04      0.00
09:19:48 PM    3    1.02    0.00    0.51    6.63    0.00    0.00    0.00   
92.35      0.00
(this is consistent over a period of time)

I then read an article saying that in many cases this doesn't matter - 
something to do with processes being pinned to a CPU (Sorry, I can't find the 
article again!).

Does anyone have any experience, or is there a good practice for this and RAC?

service irqbalance start
chkconfig irqbalance on

Thanks,

Jed


--
//www.freelists.org/webpage/oracle-l



--
//www.freelists.org/webpage/oracle-l


Other related posts: