7.2 ノイジー・ネイバーの問題の解決

AHFバランスは、クラスタで実行されている一連のデータベースの過去のCPU消費データおよびデータベース・リソース・マネージャ(DBRM)設定を分析するコマンドライン・ユーティリティです。

これは、CPUベースのノイジー・ネイバーの問題の履歴の理解を支援し、ノイジー・ネイバーの問題のリスクを最小限に抑えるために適切なDBRM設定を推奨します。

AHFバランスは、Oracle Enterprise Managerのリポジトリ・データベースからCPU消費を問い合せます。AHFバランス・レポートを生成する前に、Oracle Enterprise Managerリポジトリへの接続を構成する必要があります。詳細は、「ahf configuration」を参照してください。

関連トピック

7.2.1 CPUベースのノイジー・ネイバー防止戦略

7.2.1.1 パーティション化 - MAAのベスト・プラクティス

クラスタがパーティション化されている場合、各データベース・インスタンスには専用のCPU容量があります。ネイバーによるCPU消費は、データベース・インスタンスに干渉できません。CPUリソース(構成された制限 - CPU_COUNTまで)は、常に使用可能であることが保証されます。ただし、CPUリソースは特定のデータベース・インスタンス専用であるため、インスタンスは他のインスタンスで使用されていないCPUサイクルを利用(借用)できません。通常、クラスタがパーティション化されている場合、データベース統合の程度は、クラスタ内の各マシンの物理CPUの数と、クラスタでホストされている各データベースの最大CPU消費によって制限されます。

クラスタは、クラスタ内の各マシンで実行されているすべてのデータベース・インスタンスのCPU_COUNT DBRMパラメータ値の合計が、マシン上の物理CPUの数以下の場合にパーティション化されます。たとえば、クラスタ内のマシンにそれぞれ64個のCPUがあり、各マシンが4つのデータベース・インスタンスをホストしており、それぞれCPU_COUNTが16に設定されている場合、クラスタはパーティション化されます。

クラスタをパーティション化することが目標である場合、過去のCPU消費データを分析することで、適切なCPU_COUNT設定を決定できます。AHFバランスはこの分析をサポートしています。

7.2.1.2 リスク管理 - AHFバランスによるサポート

パーティション化で許可されるよりも多数のデータベースをクラスタがホストしている場合、過剰にプロビジョニングされていると言い表されます。クラスタが過剰にプロビジョニングされている場合、1つ以上のデータベース・インスタンスによる高CPU消費が、別のデータベース・インスタンスのCPUニーズに干渉する可能性があります。そのデータベース・インスタンスにはノイジー・ネイバーの問題が発生します。また、いかなる時点でもいずれかのデータベースがCPUリソース不足に陥ることがないよう、クラスタを共有するデータベースはそれぞれ異なる時間に大量のCPUを必要とする可能性があります。クラスタはパーティション化されていないため、これは保証されません。DBRMは、すべてのデータベースが同時に大量のCPUを必要とする状況を回避するように構成されていません。

過去のCPU消費量を分析することによって、AHFバランスは、パーティション化が不可能であることが履歴レコードによって示される場合に、各データベースがネイバーによって高いCPU消費の危険にさらされる時間を最小化するCPU_COUNT設定を推奨できます。

7.2.1.3 AHFバランスに関連する条件

  • 制限: データベース・インスタンスが同時に使用できるvCPUの最大数。DBRMパラメータCPU_COUNTは、インスタンスの制限を実装します。
  • 保証: データベース・インスタンスが常に使用できることが保証されているvCPUの数。クラスタがデータベースの実行専用である場合、DBRMとオペレーティング・システムは連携して保証を提供します。

    オーバープロビジョニング率R=sum(CPU_COUNT)/physical vCPUsの場合、データベース・インスタンスの保証はそのCPU_COUNT/Rです。

    たとえば、64個のvCPUマシンで8つのデータベース・インスタンスが実行されており、すべてCPU_COUNTが16に設定されている場合、オーバーサブスクリプション率Rは2、つまり8 * 16 / 64となり、個々のデータベース・インスタンスごとに8 (16/2)が保証されます。

  • 危険範囲外時間: データベース・インスタンスのCPU使用量がCPU保証を超えていない時間。インスタンスが危険範囲外にある場合、マシンで実行されている他のインスタンスのCPU消費に関係なく、CPUベースのノイジー・ネイバーの問題が発生することはありません。
  • 危険範囲内時間: 1つ以上のデータベース・インスタンスのCPU使用量がCPU保証を超えている時間。インスタンスが危険範囲内にある場合、マシンで実行されている他のインスタンスのCPU消費に応じて、ノイジー・ネイバーの問題が発生する可能性があります。
  • 影響時間: 危険範囲内時間のうち、ホストのCPU使用率が70%を超えた時間。インスタンスが影響を受ける場合、マシンの合計CPU使用量が高いため、ノイジー・ネイバーの問題が発生している可能性があります。

7.2.2 AHFバランス・レポート

特定のレポートで考慮されるエンティティ(クラスタ、データベースおよびフリート)の数は、レポートを生成する時間に影響します。

クラスタ

クラスタ・レポートでは、データベースの先月のCPU使用率履歴に基づいて、クラスタで実行されているすべてのデータベースの推奨CPU_COUNT設定が提供されます。レポート内の表およびグラフには、先月の危険と影響の履歴、および推奨CPU_COUNT設定が適用されていた場合の危険と影響が示されます。この情報は、ホスト・レベルとデータベース・レベルの両方で提供されます。

フリート

フリート・レポートには、クラスタのフリートに関するクラスタ・レポートが要約され、推奨事項から最もメリットが得られるクラスタが示されます。

データベース

データベース・レポートには、個々のデータベースのすべてのインスタンスで推奨CPU_COUNT設定をクラスタ全体で採用した場合の影響の詳細が表示されます。このレポートは、クラスタの所有者と個々のデータベースのデータベース管理者の間の会話を容易にすることを目的としています。個々のデータベースにCPU_COUNT設定を推奨することはできないことに注意してください。このレポートは、クラスタで実行されているすべてのデータベースが推奨を採用した場合の、個々のデータベースへの影響を示します。

AHF 24.8

AHFバランスでは、特に障害シナリオでノイジー・ネイバーの問題を最小限に抑えるために、データベース・リソース・マネージャ設定の拡張された推奨事項が提供されるようになりました。

AHFバランスでは、前月のCPU使用率履歴に基づくCPU_COUNT設定をお薦めします。障害時リカバリ・スタンバイ・データベースの場合、通常、記録されたCPU使用率は低くなります。ただし、障害発生時に障害時リカバリ・スタンバイがプライマリ・データベースになると、そのCPU使用率が大幅に増加します。この可能性を考慮しない場合、推奨されるCPU_COUNTではプライマリの負荷を処理するには不十分である可能性があります。

AHFバランスは、障害時リカバリ構成を考慮に入れて、データ収集期間の開始時に障害が発生してそれが存続している場合のCPU使用率を推定するようになりました。これらの推定により、通常の操作と潜在的な障害状態の両方を考慮した、より正確なCPU_COUNTの推奨が可能になります。

図7-6 AHFバランスの障害時リカバリ


この図は、AHFバランスの障害時リカバリを示しています

バランス・レポート:障害時リカバリが構成されている場合、バランス・レポートには3つのシナリオが含まれるようになりました:
  • Current: 現在のCPU_COUNT設定および前月の実際のCPU使用率履歴に基づいて、エクスポージャおよび影響を表示します。
  • Disaster: 障害時シナリオでの推定CPU使用率を使用し、現在のCPU_COUNT設定に基づいて、予想されるエクスポージャおよび影響を表示します。
  • Recommended:障害時の推定CPU使用率を考慮して、推奨されるCPU_COUNT設定が適用された場合に予想されるエクスポージャおよび影響を提供します。

7.2.3 ノイジー・ネイバーが原因のデータベース・パフォーマンス問題のガイド付き解決

AHFバランスでGIホームが不要になり、どのOracleホームでも使用できるようになりました。

データベースのCPU使用量は、データベースのCPU_COUNTパラメータによって制限されます。これらの制限がマシン上のCPUの数を超えると、ノイジーネイバーの問題が発生する可能性があります。

AHFバランスでは、Enterprise ManagerからのデータベースCPU構成および履歴CPU使用率データが分析されます。この分析の大まかな結果は、Oracle OrachkOracle ExachkのMAAスコア・カードで表示されます。

次の目的でさらにレポートを実行できます。

  • フリート全体にわたり、発生する可能性があるノイジー・ネイバーの概要を取得します。
  • 特定のデータベースについて詳細情報を確認します。
  • 修正措置計画を生成します。
AHFバランスを使用するには:
  • Enterprise Managerのリポジトリ・データベースからの履歴CPU使用率を分析するようにAHFバランスを構成します。
    ahf configuration set --type impact --connect-string <EM-DATABASE-CONNECT-STRING> --user-name <USER-NAME>

    ノート:

    このコマンドを実行すると、Oracle Enterprise Managerリポジトリ・ユーザーのパスワードを入力するよう求められます。Oracle Enterprise Managerリポジトリのユーザーは、ターゲット権限(任意のターゲットの表示)を持つ任意のEnterprise Manager (EM)ユーザーにすることができます。AHFバランスは、指定されたユーザーとしてEMリポジトリ・インスタンスに接続します。

    --connect-string CONNECT_STRING: Oracle Enterprise Managerリポジトリの接続文字列を指定します。

    例: @[//]my EM host[:port][/my AHF EM service_name]

    透過的アプリケーション・フェイルオーバー(TAF)がこのサービスに対して有効になっていないことを確認します。

  • 次のようにフリート全体の分析を実行して詳細なAHFバランス・レポートを作成し、ノイジー・ネイバーについてと、CPU_COUNT設定の変更によって実現可能な改善について把握します。
    ahf analysis create --type impact --scope fleet --name <FLEET_NAME>

    ノート:

    <FLEET_NAME>には、MyFleetなど、任意の名前を指定できます。レポートにラベルを付けるためにのみ使用されます。
  • 次のようにクラスタレベルの分析を実行して詳細な修正措置計画を取得します。
    ahf analysis create --type impact --scope cluster --name cluster_name

詳細は、「データ・ソース」を参照してください。

7.2.4 データ・ソース

AHFバランスは、Enterprise Manager (EM)によって収集および格納されるCPU消費データに依存します。EMは、管理対象の各データベース・インスタンスと各ホストのCPU消費を時間単位で収集します。EMによって収集された時間単位のデータに対するデフォルトの保存ポリシーは32日間です。

図7-7 Status Timeline

タイムライン

図7-8 Action Plan

措置計画