21. Logical/Physical I/O vs. Direct I/O
– DB FILE SCATTERED READ vs. DIRECT PATH READ
– 大事なことなのでもう一度まとめます。
– 両者の違いはSGA(Buffer Cache)を経由するか否か
– SGA(Buffer Cache)を経由するとは?
21
22. Logical/Physical I/O vs. Direct I/O
– DB FILE SCATTERED READ vs. DIRECT PATH READ
– 両者のI/Oに違いは… ありますが…
– さらに違うのは、当然、キャッシュの読み込み量
– もっと顕著なのは、あのラッチの取得回数
22
23. Logical/Physical I/O vs. Direct I/O
– DB FILE SCATTERED READ vs. DIRECT PATH READ
DB FILE SCATTERED READ
288
919
io_submit
DIRECT PATH READ 3552
io_getevents
323 pread
others
3551
io_submit
6408 DB FILE SCATTERED READ(NO BUFFER)
io_getevents
6325 317
others
io_submit
6481
io_getevents
6491
others
23
24. Logical/Physical I/O vs. Direct I/O
– DB FILE SCATTERED READ vs. DIRECT PATH READ
cache buffers chains cache buffers lru chain
2500000 3000
2200211 2639
2500
2000000
2000
1500000
1500
1000000
1000
500000
500
6136 10
0 0
DIRECT PATH READ DB FILE SCATTERED READ DIRECT PATH READ DB FILE SCATTERED READ
24
25. Logical/Physical I/O vs. Direct I/O
– DB FILE SCATTERED READ vs. DIRECT PATH READ
– そうです。DB FILE SCATTERED READはキャッシュ経
由ですので、どうしても、キャッシュ上のブロック
の存在チェックと空き領域のチェックが必要
– さらに、状況が悪いと、DB FILE SEQUENTIAL READ
が、気持よく動いているOLTP系処理のエコシステム
を崩すこともあります。
* 単純にDIRECT PATH READが優れているという話
ではありません!!
25
26. Check Oracle READ Performance
– Oracle I/O Pattern
Elapsed Time (sec)
200
177
180
160
140
Disk I/OとBuffer Cache
120 メンテナンスのコストバランス
101
100
が変われば、パフォーマンス
SSD
バランスも変わる HDD
80
60
45
40 30
20
20 10
0
DIRECT PATH READ DB FILE SCATTERED READ DB FILE SEQUENTIAL READ
26