Database Reference
In-Depth Information
Prepare Phase
Irrespective of the type of block being transferred (current block or consistent read [CR] block), the time required to
prepare the block for transmission to the requestor is computed using the following formula:
Prepare latency = Blocks served time ÷ the number of blocks served
How do you find the time required to serve data blocks? This is the primary part of the preparation phase, and the
steps depend on the type of block being served (current DML block or CR block). The steps involved include the time
required to do the following:
1.
If the block involved in the operation is a CR block, the block needs to be built.
2.
In the case of frequently modified blocks, the block needs to be flushed to disk/redo log files.
3.
Send the block to the requestor.
4.
Once the block is received, the block may be pinned to the buffer.
The instrumentation required to determine the time taken for each of these steps is available within the Oracle
database in the GV$SYSSTAT or the GV$SESSTAT views. The blocks served time and number of blocks served can be
calculated using the following equation:
(
)
æ
ö
gc cr blockbuild time+gccrblock flushtimegc ¸ rrblocksflushed +
gc current blockflush time
ç
ç ç ç
÷
÷ ÷ ÷
(
)
Blocks Served Time =
¸
gc current blocks f
lushed +
*
10
gc current blockpin time
è
ø
Blocks Served =gccurrent blocks served +gccrblocksserved
(
)
Note
please review Chapter 13 before continuing further on this chapter.
Transfer Phase
Similar to the prepare latency, we also need to compute the transfer latency to determine what part of the operation is
slowing down the system. The transfer latency is computed as follows:
Transfer latency = Interconnect latency ÷ prepare latency
We have found the components involved in a prepare latency. What about the interconnect latency? Interconnect
latency depends on the number of data blocks received and the time required to receive these data blocks.
Interconnect latency = Blocks receive time ÷ blocks received
Data blocks received is the sum of both the current blocks received and the CR blocks received. Similarly, the
time taken to receive these blocks is also the time taken to receive a current block and the CR block.
Once again, all the instrumentation required to compute the transfer latency is also available with the Oracle
database in the GV$SYSSTAT and GV$SESSTAT views.
Blocks received time = ( gc cr block receive time + gc current block receive time ) * 10
Blocks received = ( gc cr blocks received + gc current blocks received )
 
 
Search WWH ::




Custom Search