キャッシュヒット率を調べる
0.更新履歴
- 2001.03.05 新規作成
1.はじめに
このドキュメントは,Oracle8.0.5で動いているOLTPシステムについて,そのキャッシュ利用について調べたことを記述するものである.
2.ライブラリキャッシュのヒット率
ライブラリキャッシュは,共有プール内に割り当てられ,共有SQL領域,PL/SQL領域を含む.
実行する頻度の高いSQL文がライブラリキャッシュに残るように調整できれば良い.
select sum(pins) "Executions", sum(reloads) "Misses", round(100*(1-(sum(reloads)/sum(pins))),3) "Hit Ratio" from v$librarycache |
実行してみる.
SVRMGR> select sum(pins) "Executions", 2> sum(reloads) "Misses", 3> round(100*(1-(sum(reloads)/sum(pins))),3) "Hit Ratio" 4> from v$librarycache; Executions Misses Hit Ratio ---------- ---------- ---------- 8314 9 99.892 1行選択されました。 SVRMGR> |
この場合,8314のSQL文が実行され,9個がキャッシュにヒットしなかったため,99.892%のヒット率となっている.
90%以下になるようであれば,SHARED_POOL_SIZEの値を大きくする.
3.ディクショナリキャッシュのヒット率
ディクショナリキャッシュは,共有プール内に割り当てられ,データディクショナリ情報を保持している. 参照する回数の多いデータディクショナリ情報がキャッシュに残るようにすべきである.
select sum(gets) "Gets", sum(getmisses) "Misses", round(100*(1-(sum(getmisses)/sum(gets))),3) "Data Dict Hit Ratio" from v$rowcache where gets <>0 |
実行してみる.
SVRMGR> select sum(gets) "Gets", 2> sum(getmisses) "Misses", 3> round(100*(1-(sum(getmisses)/sum(gets))),3) "Data Dict Hit Ratio" 4> from v$rowcache 5> where gets <>0; Gets Misses Data Dict ---------- ---------- ---------- 12238 504 95.882 1行選択されました。 SVRMGR> |
90%以下になるようであれば,SHARED_POOL_SIZEの値を大きくする.
4.データベースバッファキャッシュヒット率
DB_BLOCK_BUFFERSで定義したバッファキャッシュが効率的に利用されているかを検討する.
select (a.value+b.value) "Logi Reads", c.value "Phy Reads", round(((1-(c.value / (a.value+b.value))) * 100),3) "Buffer Hit Ratio" from v$sysstat a,v$sysstat b,v$sysstat c where a.name = 'db block gets' and b.name = 'consistent gets' and c.name = 'physical reads' |
実行してみる.
SVRMGR> select (a.value+b.value) "Logi Reads", 2> c.value "Phy Reads", 3> round(((1-(c.value / (a.value+b.value))) * 100),3) "Buffer Hit Ratio" 4> from v$sysstat a,v$sysstat b,v$sysstat c 5> where a.name = 'db block gets' and 6> b.name = 'consistent gets' and 7> c.name = 'physical reads'; Logi Reads Phy Reads Buffer Hit ---------- ---------- ---------- 693954 73918 89.348 1行選択されました。 SVRMGR> |
90%を下回る場合,DB_BLOCK_BUFFERSを増やしたほうが良い.