プランの定義

Resource Manager を有効にしたら、1 つまたは複数のプランを作成し、その後でそれらのプランにリンクする 1 つまたは複数のルールを作成する必要があります。

プランを定義するには、以下の手順に従って実施してください。

  1. [Plans] タブをクリックします。

  2. [New] をクリックしてプランを作成します。[Create plan] ダイアログで、プランの名前と、必要に応じてその説明を入力します。

Resource Manager: creating a new plan

Resource Manager: 新しいプランの作成

  1. [New restriction] をクリックします。このダイアログで、以下の 2 つを選択します。

    1. Execute when: プランを有効にするタイミングを選択します。以下のオプションがあります。

      1. Always: 常に有効。

      2. CPU usage is equal to or greater than: CPU 使用率が特定のパーセント値を超えたとき。この制限は、クエリ開始時およびその後 20 秒おきに評価されます。

    2. 上記の条件が満たされた場合に Resource Manager が実行するアクションを選択します。選択したアクションは、 SELECT ステートメントまたは CALL ステートメントに適用され、DDL (CREATE VIEWCREATE REST WEBSERVICE など) または DML (INSERTUPDATE など) には適用されません。

      1. Stop query always: ただちにクエリを停止します。

      2. Switch query to plan: クエリを別のプランに移動します。

      3. Stop query when the maximum execution time has been reached: 最大実行時間に到達するとクエリを停止します。

      4. Stop query when the maximum number of returned rows has been reached: 返される行数が最大に到達するとクエリを停止します。

      5. Set the priority of the threads that execute the query: Virtual DataPort サーバーがクエリを実行するために起動するスレッドの優先順位を変更します。1 は最も低い優先順位、10 は最も高い優先順位です。

        スレッドの優先順位を上げると、クエリの実行が速くなります。

        重要

        Virtual DataPort サーバーが Linux 上で動作している場合、このアクションが適用されるのは以下の 2 つの条件が満たされた場合のみであり、それ以外の場合は無効になります。

        • Virtual DataPort が root ユーザーにより起動されている。

        • Virtual DataPort サーバーの [JVM options] に -XX:ThreadPriorityPolicy=1 が追加されている。

        これらの条件を満たす必要があるのは、Linux では root ユーザーによって起動されたプロセスのみがそのスレッドの優先順位を動的に変更できるからです。

        この注意事項は、Windows 上で動作する Virtual DataPort サーバーには影響しません。なぜなら、Windows では、プロセスがそれ自体のスレッドの優先順位を変更できるからです。

      6. Set the maximum number of concurrent queries: ルールの条件を満たすユーザーのグループが実行する同時クエリの最大数を設定します (ルールについては次のセクションを参照)。

        たとえば、「access_interface=JDBC」という条件を使用するルールを作成して、同時クエリの最大数を 30 に制限するプランをこのルールに割り当てたとします。35 個の JDBC クライアントが同時にクエリを実行して、それらがルールリストの上位にある別のルールの条件を満たさない場合、サーバーは 30 個のクエリのみ同時に実行して、残りのクエリをキューに追加します。

        このアクションの値より、[Server Configuration] ダイアログで設定されている同時クエリの最大数の方が優先されます。

      7. Set the maximum number of queued queries: ルールの条件を満たすユーザーのグループが実行する、キュー内のクエリの最大数を設定します。

        このアクションの値より、[Server Configuration] ダイアログで設定されているキュー内のクエリの最大数の方が優先されます。

      8. Set automatic simplification of the query to: このクエリの自動簡素化を有効/無効にします。クエリの自動簡素化のプロセスについては、「 クエリの自動簡素化 」を参照してください。

      9. Set the maximum number of queries per time unit: ルールの条件を満たすユーザーのグループが実行する時間単位あたり (分あたり、時間あたり、日あたり、または月あたり) のクエリの最大数を設定します。このアクションは、[Execute when] オプションが [Always] の場合のみ使用できます。

    3. [Ok] をクリックして制限を保存し、もう 1 回クリックしてプランを保存します。

プランを 1 つ作成して、複数の制限を設定することができます。以下に例を示します。

  • CPU 使用率が 50% を超える場合にトリガされる制限

  • CPU 使用率が 80% を超える場合にトリガされる制限