Insight Technology, Inc

Insight Technology, Inc

Japanese | English

June 2, 2004 -Vol.144-

Ora! Ora! Oracle
Welcome to the world of Oracle enthusiasts
Free mail magazine for the people who want to know more about Oracle

Real Application Clusters
Last time, I changed index configuration and also let index skip scan be executed instead of index full scan.
I performed registration and scan process, and changed index configuration.
Let's check how performance has improved.

********************************************************
(Before tuning)
 CASE    INSTANCE NO   SESSIONs        EPS         TPS
 =======================================================
  01          1           237       16,083       732.3
 -------------------------------------------------------
  02          1           256        5,453
              2           256        5,362
          ----------------------------------------------
           Total          512       10,815       489.4
 -------------------------------------------------------

Scalability = 0.67

********************************************************

Compared with a single instance, scalability dropped by 0.67. Let's see the result below.

********************************************************
(After tuning)
 CASE    INSTANCE NO   SESSIONs        EPS         TPS
 =======================================================
  01          1           237       16,083       732.3
 -------------------------------------------------------
  03          1           256       10,746
              2           256       13,365
          ----------------------------------------------
           Total          512       24,111      1079.4
 -------------------------------------------------------

Scalability = 1.47

********************************************************

Index tuning made performance improve more than twice. Actually, there was another index similar to this index. So I performed tuning to two indexes.

Now, I want to know if there is any difference in the statistics. Following are statistics of an instance in RAC. First, take a look at WAIT column of each object.

((ITL Waits))
********************************************************
(Before tuning)
 OBJECT               TYPE          WAIT
 ---------------------------------------
 IDX_LOGTBL1          INDEX        1,532 << (1)
 IDX_LOGTBL2          INDEX        1,210 << (2)
 PK_SESINFO           INDEX           33
 IDX_LOGTBL3          INDEX            1
 PK_MSINFO            INDEX            1
 ---------------------------------------

(After tuning)
 OBJECT               TYPE          WAIT
 ---------------------------------------
 PK_SESINFO           INDEX          696
 PK_MSINFO            INDEX           54
 PK_MSINFO_MA         INDEX           38
 IDX_MSINFO           INDEX            6
 ---------------------------------------
********************************************************

((Buffer Busy Waits))
********************************************************
(Before tuning)
 OBJECT               TYPE          WAIT
 ---------------------------------------
 IDX_LOGTBL1          INDEX    2,445,422
 IDX_LOGTBL2          INDEX    2,074,474
 LOGTBL2              TABLE       76,123 << (3)
 LOGTBL1              TABLE       37,154 << (4)
 PK_SESINFO           INDEX       32,102
 ---------------------------------------

(After tuning)
 OBJECT               TYPE          WAIT
 ---------------------------------------
 PK_MSINFO            INDEX      336,430
 PK_SESINFO           INDEX      322,564
 PK_MSINFO_MA         INDEX      117,048
 LOGTBL2              TABLE      106,772 << (3)
 LOGTBL1              TABLE       57,724 << (4)
 ---------------------------------------
********************************************************

I don't see any wait event regarding log-related index any more. ((1) and (2)) Buffer Busy Waits of log-related table has slightly increased. I assume that Buffer Busy Waits has increased as the number of transactions increases. ((3) and (4))

Our current objective is to reduce contention among instances regarding index where buffer busy waits occur. We have pretty much accomplished our objective.

Now, let's check event statistics.

((V$SYSTEM_EVENT information))
********************************************************
(Before tuning)
 INSTANCE NO   EVENT                           WAIT  WAIT (sec) 
 -----------------------------------------------------------------
      2        enqueue                    2,341,917   408,503
               buffer busy waits          3,034,419   321,680
               buffer busy global cache   1,748,311   213,001
               global cache busy            968,529    85,302
               latch free                 4,638,862    73,170
 -----------------------------------------------------------------

(After tuning)
 INSTANCE NO   EVENT                           WAIT  WAIT (sec) 
 -----------------------------------------------------------------
      2        log file sync              3,146,732   629,080
               enqueue                      802,320   203,810
               buffer busy waits            715,314    71,804
               buffer busy global cache     351,148    51,782
               latch free                   892,286    50,836

********************************************************

Total wait time has slightly decreased. waits regarding enqueue and buffer busy... have also decreased drastically.
On the other hand, log file sync hits the worst wait event. I assume that this event occurs in two distinct cases where commit is not issued so often or commit is issued frequently. The latter case must have heavy transactions.

The statistics proves that the buffer wait has decreased dynamically. After you perform index tuning, check wait events. If you don't see any increases in WAIT, your tuning is quite successful.

Actually, the statistics indicates the increase in log file sync but this is not a serious matter.

In Vol.140, I talked about Global Cache Service (GCS) that maintained data consistency among instances in RAC. I wonder if there is any difference in the statistics. I will talk about this next week.

That's it for today.

Tadashi Yamashita

 Subscribe & Unsubscribe