#概要
Cognos AnalyticsやCognos BIでレポートを実行する時、レポート実行の主たる処理はReport Server(BIBusTKServerMain)というC++のプロセス上で行われます。
このBIBusTKServerMainプロセスの動きを調整するパラメーターをまとめておきます。
ちなみに、Cognos Administrationで調整できる辺りの、プロセス数とかスレッド数の話はこちらをご参照下さい。
Cognosのレポート同時実行時のパラメーターチューニングの考え方
https://qiita.com/shinyama/items/1cb80e0440c17d6edaf9
#設定ファイル
レポートをオンラインで実行する際の Report Service、バッチで実行する際のBatch Report Service共に、BIBusTKServerMainプロセスを使用しますが、それぞれ、以下のファイルで動作を調整します。
Report Service
/opt/ibm/cognos/analytics/webapps/p2pd/WEB-INF/services/reportservice.xml
Batch Report Service
/opt/ibm/cognos/analytics/webapps/p2pd/WEB-INF/services/batchreportservice.xml
以降で記載のある、設定のデフォルト値はCognos Analytics 11.0.11でのものです。
#キューの待ち時間を設定
プロセスも低親和性接続も全て埋まっている場合、処理はキュー待ちとなります。
キュー待ちタイムアウトは、以下の箇所で設定が可能です。
Report Serviceの場合は30秒、Batch Report Serviceの場合は4時間がデフォルトになります。
<param-name>queue_time_limit_ms</param-name>
<param-value>30000</param-value>
#Cognosサービス起動時に、BIBusTKServerMainプロセスを1つ起動
レポートやバッチを実行したタイミングで、必要に応じてBIBusプロセスは起動されますが、起動のオーバーヘッドは数秒程度あり、Cognos再起動後の最初のレポート実行が遅くて問題になる事があります。
そんな時、以下のパラメーターをtrueにしておくと、Cognos起動と共に、BIBusプロセスを1個立ち上げてくれます。
Report Serviceの場合は true、 Batch Report Serviceの場合は false がデフォルトになります。
<param-name>prestart_process</param-name>
<param-value>false</param-value>
#BIBusTKServerMainプロセスが停止するまでのアイドル時間
何も処理が行われないアイドル状態になると、BIBusTKServerMainプロセスはデフォルトで15分で停止して無くなります。
アイドルタイムアウトの設定値は、以下の箇所になります。
<child-proc-cmd>idleTimeLimitSec=900</child-proc-cmd>
#BIBusTKServerMainプロセスが停止するまでの処理回数を指定
BIBusプロセスで処理を行った回数により、プロセスの停止を行う事も可能です。
以下の設定値になります。
<param-name>default_process_use_limit</param-name>
<param-value>0</param-value>
#処理が全然行われなくなっても、BIBusTKServerMainプロセスを停止しないようにしたい
こちらの設定値で、アイドル状態で15分経過しても、停止せずに残すプロセス数の指定ができます。
Report ServiceもBatch Report Serviceも、どちらもデフォルト 1 になります。
15分待ってもBIBusが落ちないぞ、という場合、実はこちらの設定になります。
<param-name>linger_process</param-name>
<param-value>1</param-value>
以上です。
知っておくと、どこかで役立つ設定値だと思いますので、記憶の片隅に留めておいて頂ければと。