Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Anchor
top
top

...

 

Code Block
themeEclipse
languagexml
<init-param>
        <param-name>DisableTaskScheduler</param-name>
        <param-value>TRUE</param-value>
</init-param>


システムタスク

システムタスクは、ひとつのノード上のみで有効化しなくてはいけません。

...

マスタノードは、タスク委任の調整をします。これは、オプションでバックグラウンドタスクを実行します。マスタは、明示的に無効化されていない限り(これは推奨されません)、常にシステムタスクを実行します。スレーブノードは、実行するように構成されたバックグラウンドタスクのみを実行します。


Yellowfinのクラスタは、高度に構成可能です。

  • ノードは、マスタになるように構成できますが、スレーブになることはありません。これを実現するには、web.xml内のClusterManagement servletブロックにTaskTypeを含めてはいけません。ブロックにTaskTypeを含めてはいけません。フェイルオーバーを可能にするために複数のノードがマスタになるように構成されている場合は、最初に開始されたノードがマスタになります。
  • ノードは、スレーブになるように構成できますが、マスタになることはありません。これを実現するには、web.xml内のMIStartup servletブロックに以下を追加します。

 

Code Block
themeEclipse
languagexml
<init-param>
        <param-name>DisableTaskScheduler<name>DisableTaskSchedulerPolling</param-name>
        <param-value>TRUE</param-value>
</init-param>

 

  • ウェブに面するノードは、決してマスタ、またはスレーブにならないように構成する場合があります。この場合は、バックグラウンドタスクは、リソースにおいて、オンライプロセスと競合することがありません。これを実現するには、web.xml内のMIStartup servletブロックに以下を追加します。

...

 

Code Block
themeEclipse
languagexml
<init-param>
        <param-name>DisableTaskScheduler</param-name>
        <param-value>TRUE</param-value>
</init-param>

  web.xml内のClusterManagement servletブロックにTaskTypeが含まれていないことを確認します。

 

 



  • 特定のタスクを実行するように、ノードを構成する場合があります。同時に実行する各タイプのタスクの最大数も構成しなくてはいけません。これを実現するには、web.xml内のClusterManagement servletブロックに以下を追加します。

...

Code Block
themeEclipse
languagexml
<init-param>
              <param-name>TaskTypes</param-name>
              <param-value>
                     FILTER_CACHE,
                     ETL_PROCESS_TASK,
                     SOURCE_FILTER_REFRESH
              </param-valuevalue>
</init-param>
<init-param> 
              <param-name>MaxParallelTaskCounts</param-name> 
              <param-value>
                     1,
                     5,
                     3
              </param-value>
</init-param>

  これによりノードは、ひとつのキャッシュフィルター更新タスク、5つのデータトランスフォーメーションタスク、3つのアクセスフィルター更新タスクを同時に実行するように構成されます。

  これが、ClusterManagement servletで構成されない場合、ノードはバックグラウンドタスクを実行しません。


タスクタイプ

利用可能なタスクタイプと、その説明です。

タスク名説明
REPORT_BROADCAST_BROADCASTTASKレポートブロードキャスト
REPORT_BROADCAST_MIREPORTTASKレポートデータの更新
ETL_PROCESS_TASKデータトランスフォーメーション
FILTER_CACHEキャッシュフィルターの更新
SOURCE_FILTER_REFRESHアクセスフィルターの更新
SOURCE_FILTER_UPDATE_REMINDERアクセスフィルター更新のリマインダー
ORGREF_CODE_REFRESH参照コードの更新
THIRD_PARTY_AUTORUNサードパーティ製コネクターのデータキャッシュの更新
SIGNALS_DCR_TASKシグナルの事前実行タスク
SIGNALS_ANALYSIS_TASKシグナルの解析
SIGNALS_CLEANUP_TASKシグナルの事後実行タスク
COMPOSITE_VIEW_REFRESHコンポジットビューのデータ更新
SIGNALS_CORRELATION_TASKシグナルの相関を検知


こちらは推奨例です。

  • システム内で繰り返し実行されるタスクを定義します。
  • シグナルやデータトランスフォーメーションなど、高頻度でリソースが集中するタスクのために、ノードを専用化します。
  • ノードはコア数に比例して、複数のタスクを並行で実行することができますが、タスクによっては、計算に要する待ち時間の割合が高いものもあり、他のタスクが待機している間に、タスクを実行することもできます。ひとつのノードは、スレッドの総数を微調整するために、アプリケーションをプロファイリングしなくてはいけません。Yellowfinでは、1コア当たり5スレッド以下を推奨しています。この数は、ノード上で実行するよう構成されたタスク間で分割されます。例えば、複数のキャッシュフィルター更新タスクを実行する場合、最大数は「MaxParallelTaskCount」に割り当てられます。
  • すべてのバックグラウンドタスクのために生成されるスレッド数は、以下のパラメーターを使用して制御できます。
    • TaskSchedulerThreads - すべてのバックグラウンドタスクで利用可能なスレッドの最大数
    • TaskSchedulerMaxThreadQueue - 「待機」キュー内のスロット数。待機キュー内のアイテムは、次のサイクルを待つことなく、スレッドが解放されると同時に実行されます。


      以下の構成を検討します。
      TaskSchedulerThreads = 5
      TaskSchedulerMaxThreadQueue = 15
      TaskType | MaxParallelTaskCount =  FILTER_CACHE   | 8
                                                                               ETL_PROCESS_TASK | 3
                                 

...

動的委譲

DYNAMIC、またはREPOSITORYモードでは、バックグラウンドタスクの委譲を動的に実行することができます。バックグラウンドタスクを実行しているノードに障害が発生した場合、タスクは別のノードに委譲されます。

 

...

languagejava

...

    •                                              SIGNALS_ANALYSIS_TASK | 10

      ノードは、3つの構成済みタイプのタスクを、並行で5つ実行することができます。
      5つのタスクが実行中の場合、次のタスクは「待機」キューに追加されます。タスクの実行が完了するとともに、待機中のタスクの実行が開始されます。
      5つのタスクが実行中で、15のタスクがスレッドの解放を待っている場合、次のタスクは却下されます。
      理想的には、(TaskSchedulerThreads + TaskSchedulerMaxThreadQueue) = Σ MaxParallelTaskCount になります。



シグナルとクラスタリング

SIGNALS_DCR_TASK、SIGNALS_ANALYSIS_TASK、SIGNALS_CLEANUP_TASK、SIGNALS_CORRELATION_TASKのみを実行するノードは、「シグナルノード」としてデザインされます。ノードは、これらのタイプをひとつ以上実行しますが、これ以外のタイプを実行することはありません。クラスタは、ひとつ以上のシグナルノードを持つことができます。シグナルノードには特定のライセンスが必要であり、ウェブリクエストやその他のバックグラウンドタスクの処理に使用することができません。また、シグナルノードは、マスタになることができません。

Code Block
themeEclipse
languagexml
<init-param>
              <param-name>TaskTypes</param-name>
              <param-name>AutoTaskDelegation<value>
                     SIGNALS_DCR_TASK,
                     SIGNALS_ANALYSIS_TASK,
                     SIGNALS_CLEANUP_TASK,
                     SIGNALS_CORRELATION_TASK
              </param-value>
</init-param>
<init-param> 
              <param-name>MaxParallelTaskCounts</param-name> 
       <param-value>TRUE<       <param-value>
                     2,
                     5,
                     2,
                     2
              </param-value>
</init-param>

 

 

...

Section
Column
width40%

前項:アプリケーション連携

Column
width30%

 

Column
width30%

後項:セッションレプリケーション

...