Tuesday, October 23, 2007

RAC: Ave Receive Time for Current Block is Abnormally High in Statspack

Symptom(s)
~~~~~~~~~~

The average receive time for current block and the global cache current block
receive time statistics are unusually high even though database performance
does not seem to be affected.


Change(s)
~~~~~~~~~~

Running statspack on 9.2 RAC.


Cause
~~~~~~~

This is a statistics bug. To verify that this is the problem, check the average
wait time for the 'global cache null to x' wait event. If this is under 15-20ms.
and the average receive time for current block is abnormally high then you are
hitting this bug.

Here is a sample statspack exhibiting the behavior of this bug:

Cache fusion statistics
-----------------------
Ave time to process CR block request (ms): 0.3
Ave receive time for CR block (ms): 3.5
Ave build time for CR block (ms): 0.0
Ave flush time for CR block (ms): 0.0
Ave send time for CR block (ms): 0.3

Ave time to process current block request (ms): 0.3
Ave receive time for current block (ms): 1,273.0 <-- too high
Ave pin time for current block (ms): 0.0
Ave flush time for current block (ms): 0.0
Ave send time for current block (ms): 0.2

Avg
Total Wait wait Waits
Event Waits Timeouts Time (s) (ms) /txn
---------------------------- ------------ ---------- ---------- ------ --------
global cache null to x 11,198 85 40 4 0.5

Statistic Total per Second per Trans
--------------------------------- ------------------ -------------- ------------
global cache current block flush 161 0.0 0.0
global cache current block pin ti 5,294 0.1 0.2
global cache current block receiv 2,063,975 47.8 89.4
global cache current block send t 35,120 0.8 1.5
global cache current blocks recei 16,213 0.4 0.7
global cache current blocks serve 1,421,318 32.9 61.6

Only 4ms per 'global cache null to x' wait while the average receive time for
current blocks is 1,273ms. This does not correspond.


Fix
~~~~

The statistic can be ignored unless the average 'global cache null to x' time is
high. This is fixed in 9.2.0.5 or above.