概要
Cognosで、特定のレポートは特定のノードだけで実行するようにしたい、という要件が出る事があります。
例えば、超重いレポートは、レポートサーバー2のみで実行し、他の軽いレポートはレポートサーバー1で実行する事により、重いレポートの実行が軽いレポートの実行に影響する事を避けたいという要件です。
これは、レポート単位ではないのですが、パッケージ単位で、「パッケージルーティング」という機能により可能です。
下の図の様に、パッケージ1、パッケージ2に関連したレポートは、AP1ノード、AP2ノードのどちらからも実行可能ですが、実行すると実際の処理は、パッケージ1のレポートはAP1、パッケージ2のレポートはAP2に処理が振られ、専用のノードのCPU・Memoryリソースが使用されます。
内容
この設定の手順を投稿しておきます。
誰かに問い合わせ受けた時に、このリンクをさらっとご紹介下さい。
全般タブを下の方にスクロールし、「親エントリーから取得したルーティングセットをオーバーライド」をチェック。
ルーティング・セットを入力ウィンドウからパッケージを選択し、赤枠の⇒を選択。
割り当てられたルーティング・セットにパッケージが表示された事を確認し、OK。
Cognos Administrationを起動し、設定タブのディスパッチャとサービスを選択し、振り分け先のディスパッチャーのプロパティを選択。
設定タブのカテゴリーを調整に選択し、「サーバー・グループ」に振り分けグループの名称(任意)を記載。OKを選択。
「規則を追加」を選択し、パッケージのルーティング・セットとサーバー・グループを選択。OK。
例えば、2台のレポートサーバーのうち、1台に大量のメモリーを積んでおいて、メモリーが少ないノードはCQM(互換モード)パッケージ用、メモリーが多いノードはDQM(動的モード)パッケージ用、というような使い方で、メモリーを効率的に割り振る事も可能です。
是非こういう機能がある事を覚えておいて下さい。