データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

Oracle 11g I/Oキャリブレーションの概要

Oracle®データベースがディスクに対してデータを読み書きするたびに、データベースはディスク入出力(I / O)操作を生成します。多くのソフトウェアアプリケーションのパフォーマンスはディスクI/Oによって制限され、中央処理装置(CPU)の時間の大部分をI/Oアクティビティの完了を待機するために費やすアプリケーションはI/Oバウンドです。 I / Oキャリブレーションは、この問題に対処するのに役立ちます。

はじめに

堅牢なI/Oサブシステムを確立することは、アプリケーションのインフラストラクチャを構築する上で不可欠な部分です。 I / Oスタック内のいずれかのコンポーネントのスループットが制限されている場合、そのコンポーネントはI/Oフローの中で最も弱いリンクになります。実際の作業負荷を簡単に再現することはできないため、I/Oサブシステムの検証は常に困難な作業でした。

OracleDatabaseのI/Oキャリブレーション機能を使用すると、ストレージ・サブシステムのパフォーマンスを評価し、I /Oパフォーマンスの問題の原因がデータベースにあるのかストレージ・サブシステムにあるのかを判断できます。 I/O操作を順番に発行する他の外部I/O調整ツールとは異なり、OracleDatabaseのI/ O調整機能は、Oracleデータファイルを使用してストレージメディアにアクセスすることにより、ランダムにI/O操作を発行します。これにより、データベースの実際のパフォーマンスにより近い結果が得られます。

Calibrate I / O機能は、DBMS_RESOURCE_MANAGER.CALIBRATE_IO()と呼ばれるPL/SQL関数に基づいています。 。 Calibrate I / Oが呼び出されると、次の特性を持つワークロードが生成されます。

  • I / O集中型、読み取り専用、ランダムI / O(db_block_size)
  • ラージブロック(1 MB)のシーケンシャルI/Oワークロード

Calibrate I / Oの結果を監視し、期待されるスループットレート(I / Oサブシステムの最大全体スループット)と比較する必要があります。 I / Oキャリブレーションを使用して、ストレージサブシステムのパフォーマンスを評価し、I/Oパフォーマンスの問題がデータベースホストまたはストレージサブシステムに起因するかどうかを判断できます。

このブログは次のトピックをカバーしています:

  • I/Oキャリブレーションの前提条件
  • I/Oキャリブレーションの実行
  • キャリブレーションに関する考慮事項

I/Oキャリブレーションの前提条件

I / Oキャリブレーションを実行する前に、次の要件が満たされていることを確認してください。

  • ユーザーにはSYSDBAが付与されている必要があります 特権。
  • TIMED_STATISTICS TRUEに設定する必要があります 。
  • 非同期I/Oを有効にする必要があります。

ファイルシステムを使用する場合、FILESYSTEMIO_OPTIONSを設定することで、非同期I/Oを有効にできます。 SETALLへの初期化パラメータ 。

同期I/Oでは、I / O要求がオペレーティングシステムに送信されると、操作が完了するまで書き込みプロセスがブロックされます。非同期I/Oを使用すると、呼び出しプロセスは、まだ実行中の他の要求をブロックすることなく、作業を続行します。

次のSQLクエリを実行して、データファイルに対して非同期I/Oが有効になっていることを確認します。

COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
  WHERE  F.FILE#=I.FILE_NO
  AND    FILETYPE_NAME='Data File';

次の画像は、クエリと結果を示しています。

Oracle 11g I/Oキャリブレーションの概要 セルコマンドの結果を一覧表示する

注: データベースインスタンスで一度に実行できるキャリブレーションは1つだけです。

実行中のI/Oキャリブレーション

OracleDatabaseのI/Oキャリブレーション機能には、DBMS_RESOURCE_MANAGER.CALIBRATE_IOを使用してアクセスします。 手順。この手順では、I / Ointensive読み取り専用ワークロード(1MBのランダムなI/ O操作で構成される)をデータベースファイルに発行して、最大IOPS(1秒あたりのI / O要求)とMBPS(メガバイトのI / O)を決定します。 1秒あたり)ストレージサブシステムによって維持できます。

DBMS_RESOURCE_MANAGER.CALIBRATE_IOを使用したI/Oキャリブレーション 手順には、次の手順が含まれます。

  1. このプロシージャは、すべてのデータベースインスタンスからのすべてのデータファイルに対して、データベースブロックサイズのランダム読み取り(デフォルトでは8 KB)を発行します。このステップでは、出力パラメーター(max_iopsで1秒あたりの最大I/ O操作(IOPS)を提供します )データベースが維持できること。 max_iopsの値 これは、オンライントランザクション処理(OLTP)データベースの重要な指標です。出力パラメーターactual_latency このワークロードの平均レイテンシーを提供します。入力パラメータmax_latencyを使用して、必要な特定のターゲットレイテンシを指定できます。 、データベースブロックサイズのI/O要求の最大許容待ち時間をミリ秒単位で指定します。

  2. このプロシージャは、すべてのデータベースインスタンスからすべてのデータファイルにランダムな1MBの読み取りを発行します。この手順により、出力パラメーターmax_mbpsが生成されます。 、データベースが維持できるI / Oの最大メガバイト/秒(MBPS)を指定します。これは、データウェアハウスにとって重要な指標です。

ユーザーがnum_physical_disksを指定すると、キャリブレーションがより効率的に実行されます。 入力パラメータ。データベースストレージシステム内の物理ディスクのおおよその数を指定します。

I / Oワークロードの実行によるオーバーヘッドがあるため、I / Oキャリブレーションは、データベースがアイドル状態のとき、またはオフピーク時にのみ実行して、通常のデータベースワークロードに対するI/Oキャリブレーションワークロードの影響を最小限に抑える必要があります。

>

次の画像は、DBMS_RESOURCE_MANAGER.CALIBRATE_IOからの出力を示しています。 手順:

Oracle 11g I/Oキャリブレーションの概要 セルコマンドの結果を一覧表示する キャリブレーションに関する考慮事項

I / Oキャリブレーションを実行する前に、次の考慮事項について検討してください。

  • 同じストレージサブシステムを使用するデータベースで一度に1つのキャリブレーションのみを実行します。同じストレージサブシステムを使用する別々のデータベース間で同時にキャリブレーションを実行すると、キャリブレーションは失敗します。
  • データベースを静止して、インスタンスのI/Oを最小限に抑えます。
  • Oracle Real Application Clusters(RAC)構成の場合、ノード間でストレージサブシステムを調整するためにすべてのインスタンスが開かれていることを確認してください。
  • Oracle RACデータベースの場合、ワークロードはすべてのインスタンスから同時に生成されます。
  • num_physical_disks 入力パラメータはオプションです。このパラメータをデータベースのストレージシステム内の物理ディスクのおおよその数に設定することで、調整がより高速かつ正確になります。

I / Oキャリブレーションプロセス中はいつでも、V$IO_CALIBRATION_STATUSでキャリブレーションステータスを照会できます。 見る。 I / Oキャリブレーションが正常に完了したら、DBA_RSRC_IO_CALIBRATEで結果を表示します。 次の例のようなテーブル:

START_TIME 2017年8月31日04.40.09.920679AM
END_TIME 2017年8月31日04.47.41.210939AM
MAX_IOPS 39
MAX_MBPS 60
MAX_PMBPS 69
レイテンシ 24
NUM_PHYSICAL_DISKS 1



結論

I / Oリソース管理(IORM)およびI / Oの調整機能は、現在のI/Oアーキテクチャの制限を理解するのに役立ちます。キャリブレーションが完了したら、その情報を使用して適切なI/O設計とサイジングを実行できます。 [フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。


  1. Windows 10 で外部ハード ディスク I/O エラーを修正する方法

    Windows 10で外付けハードディスクエラーが発生しましたか?ディスクドライブとその保存データにアクセスできませんか?外付けハード ドライブに保存されているすべてのファイルとデータを失う余裕がありますよね? 心配しないで!一連の回避策に従うことで、簡単なトラブルシューティング手順でデバイスのこのエラーをすばやく修正できます。 この投稿では、Windows 10 PC で I/O デバイス エラーを修正できるいくつかの解決策を取り上げました。ただし、先に進む前に、デバイスでこの問題が発生する可能性がある理由について考えてみましょう。 I/O デバイス エラーが発生する最も一般的な原因:

  2. Google I/O Conference 2018

    Google I/O は、毎年開催される最も待望のデベロッパー カンファレンスの 1 つです。今年の会議は、5 月 8 日から 5 月 11 日までカリフォルニア州マウンテン ビューで開催されました。誰もが AI を適応させているため、Google が AI に同化することは明らかです。 Google は、AI に焦点を当てた製品とアプリを提供する主要企業の 1 つになる準備が整っているようです。年次開発者会議では、Google が進歩し、製品に変更を加えているように感じました。それにより、今後の競争に備えることができます。 開発者会議は、新機能、製品の改善、およびそれらに関する発表に関する