6.3.1.4 Exadataスマート・フラッシュ・キャッシュを監視する際の注意事項

読取りレイテンシの増加

Exadata Smart Flash Cacheに関連して発生する可能性のある問題は、特にcell single block physical read待機イベントで、データベースの読取りレイテンシの増加として示される傾向があります。通常、レイテンシが増加するのは、読取りがExadata Smart Flash Cacheで対応されず、ハード・ディスクに対して発行された場合です。

次の場合は、読取りリクエストがExadata Smart Flash Cacheで対応されないことがあります。

  • 必要なデータがExadata Smart Flash Cacheにない場合。

    この場合、リクエストはFlash Cache missesとして記録され、このことはAWRレポートのFlash Cache User ReadsセクションにMissesの増加として示されます。この場合には、通常、移入書込みも増加し、このことはAWRレポートのFlash Cache Internal Writesセクションで示されます。

    データベースでは、physical read IO requestsまたはphysical read total IO requestsと比較して、cell flash cache read hitsの数が減少する場合があります。

  • そのデータがExadata Smart Flash Cacheの対象でない場合。

    キャッシュ効率を最大化するために、I/Oリクエストがデータベースからストレージ・サーバーに送信されるとき、データをExadata Smart Flash Cacheにキャッシュする必要があるかどうかを示すヒントが含められます。

    データがキャッシングの対象でない場合は、AWRレポートのFlash Cache User Reads - スキップ・セクションに、対応するI/Oと、読取りが対象でなかった理由が表示されます。次のような理由が考えられます:

    • グリッド・ディスクのキャッシング・ポリシーがnoneに設定されています。
    • データベース・セグメントが、CELL_FLASH_CACHE NONEストレージ・オプションを使用して構成されています。
    • I/Oタイプおよび状況によって、キャッシュが妨げられています。たとえば、I/OがRMANバックアップ操作に関連し、かつ、ハード・ディスクがビジーでないためなどです。このことが発生する頻度が高い場合は、AWRレポートのTop IO Reasonsセクションでそれがわかります

場合によっては、Exadata Smart Flash Cacheの動作に明らかな違いがなくても、cell single block physical readのレイテンシが増加することがあります。これは、特にハード・ディスクでのI/O負荷の増加が原因である可能性があります。

cell single block physical readで不定期の長いレイテンシがある(通常はcell single block physical readヒストグラムにロング・テールとして表示される)ことは、必ずしもExadata Smart Flash Cacheの問題を示すわけではなく、単にデータがハード・ディスクから読み取られたことを示すことがあります。

スキップされた書込み

ライトバック・モードでExadata Smart Flash Cacheを使用している場合、ほとんどのデータベース書込みリクエストはキャッシュによって吸収されます。ただし、一部の書込みリクエストではキャッシュをスキップする場合があります。キャッシュをスキップする最も一般的な理由は、一時ソートなどのために1回のみ読み取られる大量のデータがリクエストによって書き込まれた場合や、またはバックアップやアーカイブなど、将来予測できる範囲で読取りが発生しないことが想定される場合です。

Large Writesをスキップする一般的な理由として、Disk Not Busyもあります。これは、通常、ハード・ディスクには書込みリクエストを処理するための十分な容量があるため、Exadata Smart Flash Cacheを使用するメリットがないことを意味します。

Large WritesでExadata Smart Flash Cacheをスキップするとパフォーマンスの問題が発生する場合は、通常、データベースのdirect path writeまたはdirect path write temp待機イベントの対応するレイテンシが長くなることでそのことがわかります。

Large Writesを拒否した理由は、AWRレポートのFlash Cache User Writes - Large Write Rejections セクションに表示されます。

データベース・ワーキング・セット・サイズ

データベース・ワーキング・セットとは、データベース内で最も一般的にアクセスされる情報のサブセットを指します。ほとんどの場合、データベース・ワーキング・セットはかなり安定しています。ただし、なんらかの理由でワーキング・セットがExadata Smart Flash Cacheに収まらない場合は、次の症状が示されることがあります。

  • キャッシュ・ミスの増加。データがExadata Smart Flash Cacheにないことを示しています。このことは、AWRレポートのFlash Cache User Readsセクション、またはFC_IO_RQ_R_MISS_SECセル・メトリックに示されます。
  • Exadata Smart Flash Cacheにないデータを移入する移入アクティビティの増加。このことは、AWRレポートのFlash Cache Internal Writesセクション、またはFC_IO_[BY|RQ]_W_POPULATE_SECセル・メトリックに示されます。
  • Disk Writer・アクティビティの増加。キャッシュラインを再利用して他のデータをキャッシュできるように、ダーティ・キャッシュラインをディスクに書き込む必要があることを示しています。Disk Writer・アクティビティは、AWRレポートのFlash Cache Internal Readsセクション、またはFC_IO_[RQ|BY]_[R|W]_DISK_WRITER_SECセル・メトリックに示されます。
  • First Writesの増加。新しいデータがExadata Smart Flash Cacheに書き込まれていることを示しています。First Writesが多数ありOverwritesがほとんどない場合は、新しいデータがExadata Smart Flash Cacheに書き込まれていることを意味します。このことは、AWRレポートのFlash Cache User Writesセクション、またはFC_IO_[RQ|BY]_W_FIRST_SECセル・メトリックに示されます。

この場合は、次のようにします:

  • データベース・アクセス・パターンを確認して、アクセスされるデータの量を減らすチューニングの機会を見つけます。
  • Exadata Smart Flash Cache用の領域を増やすために、使用可能なストレージ・サーバーの数を増やすことを検討します。
  • Exadata Smart Flash CacheI/Oリソース管理(IORM)割当て制限を確認し、最も必要な場所に領域を割り当てます。
  • Extreme Flashストレージ・サーバーを使用してディスクI/Oを排除することを検討します。

その他の問題

cell single block physical readのレイテンシの増加は、セルのパフォーマンスによるものではなく、ネットワークの競合やデータベース・サーバーのCPUリソースの競合など、IOパスにおける別のものが原因である場合があります。

cell single block physical readのヒストグラム、およびSmall Reads Histogramは、AWRレポートのExadata Statistics→Performance SummaryセクションのSingle Block Readsセクションと Small Read Histgram - Details セクションにあります。cell single block physical readヒストグラムはOracle Databaseによって測定されたレイテンシを示し、Small Reads Histogramはストレージ・サーバーで測定されたレイテンシを示します。

不定期の長いレイテンシが多数あるヒストグラムは、ロング・テールがあると言われます。cell single block physical readおよび小規模の読取りのヒストグラムにロング・テールがある場合は、ストレージ・サーバーの読取りが低速であることを示すため、他のI/Oパフォーマンス統計をさらに調査する必要があります。セル・ディスクI/Oの監視を参照してください。

cell single block physical readヒストグラムに、Small Reads Histogramには存在しないロング・テールがある場合は、通常、ストレージ・サーバーではなく、ネットワークのボトルネックやコンピュート・ノードのCPUの競合など、I/Oパスにおける別のものが原因です。