IBM ® Campaign のパフォーマンスに影響する構成プロパティー
構成プロパティーを調整して、 IBM ® Campaign のパフォーマンスを向上できます。
DB2NotLoggedInitially
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、DB2® の一時テーブルのデータを設定する際に、 IBM ® Campaignnot logged initially SQL 構文を使用するかどうかを決定します。
このプロパティーを TRUE に設定した場合、一時テーブルへの挿入のロギングは無効になり、その結果、パフォーマンスが向上し、データベース・リソースの消費量が少なくなります。 TRUE に設定した場合、一時テーブル・トランザクションが何らかの理由で失敗すると、そのテーブルは破損した状態になり、ドロップしなければならなくなります。それまでにそのテーブルに含まれていたデータは、すべて失われます。
not logged initially 構文がサポートされていないバージョンの DB2® を使用している場合、このプロパティーは FALSE に設定します。
デフォルト値
TRUE
有効な値
TRUE | FALSE
AllowSegmentUsingSQLCase
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、Segment プロセスにおいて、構成に関する特定の条件が満たされた場合に、複数の SQL ステートメントを統合して単一の SQL ステートメントにするかどうかを指定します。
このプロパティーを TRUE に設定すると、以下の条件のすべてが満たされた場合に、パフォーマンスが大幅に改善されます。
*
*
*
各セグメントの基準が IBM® マクロ言語に基づくものである。
この場合、 IBM ® Campaign は、セグメンテーションを実行した後、フィールドごとのセグメント処理を Campaign アプリケーション・サーバー上で実行するための単一の SQL CASE ステートメントを生成します。
デフォルト値
TRUE
有効な値
TRUE | FALSE
TempTablePostExecutionSQL
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、ユーザー・データ・ソースまたはシステム・テーブル・データベースでの一時テーブルの作成直後に IBM ® Campaign によって実行される、完成された 1 つの SQL ステートメントを指定するために使用します。例えば、パフォーマンスを向上するために、一時テーブルを作成した直後に、その一時テーブルに索引を作成することができます (以下の例を参照)。 データ・ソースで一時テーブルを作成できるようにするには、AllowTempTables プロパティーを TRUE に設定する必要があります。
トークンを使用して、SQL ステートメントのテーブル名 (<TABLENAME>) および列名 (<KEYCOLUMNS>) を置換できます。これは、キャンペーンの実行時に値が動的に生成されるためです。
このプロパティーは、構文を確認せずに SQL 式に自動的に追加されます。このプロパティーを使用する場合は、有効な式であることを確認してください。 ストリングは引用符で囲むこともできますが、これは必須ではありません。
このプロパティーでは、セミコロンが、複数の SQL ステートメントを実行するための区切り文字として扱われます。SQL ステートメントにセミコロンが含まれていて、その全体を 1 つのステートメントとして実行するには、そのセミコロンの直前にエスケープ文字としてバックスラッシュ (円記号) を使用してください。
*
TempTablePostExecutionSQL で利用可能なトークンは、以下のとおりです。
デフォルト値
デフォルト値が定義されていません。
CREATE INDEX IND_<TABLENAME> ON <TABLENAME> (<KEYCOLUMNS>) は、一時テーブルの作成直後にその一時テーブルに索引を作成し、データ検索プロセスを向上します。
以下に示すのは、Oracle においてストアード・プロシージャーを呼び出す例ですが、セミコロンのエスケープにバックスラッシュ (円記号) を使用しています。 begin dbms_stats.collect_table_stats()¥; end¥;
AllowTempTables
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、 IBM ® Campaign がデータベース中に一時テーブルを作成するかどうかを指定します。一時テーブルを作成すると、キャンペーンのパフォーマンスが大幅に改善されることがあります。
値が TRUE の場合、一時テーブルが有効です。 (例えば、Segment プロセスによって) データベースに対して照会が発行されるごとに、結果として生成される ID がデータベース内の一時テーブルに書き込まれます。追加の照会が発行されると、 IBM ® Campaign は、データベースから行を取り出すために、その一時テーブルを使用できます。
useInDbOptimization のような一部の IBM ® Campaign 操作は、一時テーブルを作成する機能に依存しています。 一時テーブルが有効ではない場合、IBM Campaign は選択された ID を IBM ® Campaign サーバー・メモリーに保存します。 追加の照会では、データベースから ID を取り出して、サーバー・メモリー中の ID との突き合わせが実行されます。 これは、パフォーマンスに悪影響を及ぼす可能性があります。
一時テーブルを使用するには、データベースへの書き込むための適切な特権が付与されていなければなりません。 特権は、データベースへの接続時に入力するデータベース・ログインによって決まります。
デフォルト値
TRUE
*
通常、AllowTempTablesTRUE に設定します。 特定のフローチャートの値をオーバーライドするには、対象のフローチャートを「編集」モードで開き、「管理」メニュー 小さな人、鉛筆、円がメニュー矢印と一緒に描かれたアイコン「拡張設定」を選択して、「サーバー最適化」タブの「このフローチャートでは一時テーブルを使用しない」を選択します。
Screen capture of Server Optimization tab
MaxRowFetchRecords
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
パフォーマンス上の理由から、この数をできるだけ低い値に保つのが最善です。
選択された ID の数が MaxRowFetchRecords プロパティーによって指定された値よりも小さい場合、 IBM ® Campaign は一度に 1 つずつ、別個の SQL 照会でデータベースに ID を渡します。 この処理には、非常に長い時間がかかる場合があります。 選択された ID の数がこのプロパティーによって指定された値よりも大きい場合、 IBM ® Campaign は一時テーブルを使用する (データベース・ソースで許可された場合) か、不要な値を除くすべての値をテーブルから取り出します。
デフォルト値
100
UseMergeForTrack
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、フローチャートのトラッキング・プロセスのパフォーマンス向上のために、SQL MERGE 構文を実装します。DB2®、Oracle、SQL Server 2008、および Teradata 12 では、このロパティーを TRUE に設定できます。SQL MERGE ステートメントをサポートするその他のデータベースでも使用できます。
デフォルト値
TRUE (DB2 および Oracle) | FALSE (その他すべて)
有効な値
TRUE | FALSE
MaxQueryThreads
構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明
このプロパティーは、 IBM ® Campaign の単一のフローチャートから、各データベース・ソースに対して同時実行可能な照会の数の上限を指定します。 通常は、値が大きいほどパフォーマンスが向上します。
IBM ® Campaign は、独立した複数のスレッドを使用してデータベース照会を実行します。 IBM ® Campaign のプロセスは並列実行されるため、単一のデータ・ソースに対して複数の照会を同時に実行することが少なくありません。 並列実行される照会の数が MaxQueryThreads を超えると、 IBM ® Campaign サーバーは同時実行照会の数を指定された値に制限します。
最大値は無制限です。
*
maxReuseThreads は、ゼロ以外の値に設定する場合、MaxQueryThreads の値以上にする必要があります。
デフォルト値
データベースによって異なります。
maxVirtualMemory
構成カテゴリー
Campaign|partitions|partition[n]|server|optimization
説明
このプロパティーは、フローチャートの実行時に使用するシステム仮想メモリーの最大量のデフォルト値を指定します。 この値を大きくするとパフォーマンスが向上し、この値を小さくすると単一のフローチャートによって使用されるリソースを制限することができます。最大値は 4095 MB です。これより大きい値を入力すると、Campaign によって自動的に 4095 MB に制限されます。
(80% x 使用可能メモリー) / (同時に実行されるフローチャートの予想数) と等しくなるように値を設定します。 以下に例を示します。
サーバー上で使用可能な仮想メモリー = 32 GB
同時に実行されるフローチャートの数 = 10
設定する仮想メモリー = (80 % x 32) / 10 = 約 2.5 GB / フローチャート
デフォルト値
128 (MB)
maxVirtualMemory は、グローバル構成設定です。 特定のフローチャートの値をオーバーライドするには、対象のフローチャートを「編集」モードで開き、「管理」メニュー 小さな人、鉛筆、円がメニュー矢印と一緒に描かれたアイコン「拡張設定」を選択して、「サーバー最適化」タブの「IBM Campaign による仮想メモリー使用量」の値を変更します。
Screen capture of Server Optimization tab
doNotCreateServerBinFile
構成カテゴリー
Campaign|partitions|partition[n]|server|optimization
説明
パフォーマンスを向上させるには、このプロパティーを TRUE に設定します。 このプロパティーが TRUE になっている場合、戦略セグメントは、 IBM ® Campaign サーバーにバイナリー・ファイルを作成する代わりに、データ・ソースにセグメント一時テーブルを作成します。 セグメント化プロセス構成ダイアログで、一時テーブルを収容するデータ・ソースを少なくとも 1 つ指定する必要があります。また、「AllowTempTables」プロパティーを TRUE に設定して、データ・ソースでの一時テーブルの作成を有効にすることも必要です。
デフォルト値
FALSE
有効な値
TRUE | FALSE
keepFlowchartLogOpen
構成カテゴリー
Campaign|partitions|partition[n]|server|logging
説明
このプロパティーは、ログ・ファイルに行が書き込まれるたびに、フローチャート・ログ・ファイルを IBM ® Campaign が開いて閉じるかどうかを指定します。
TRUE は、リアルタイムの対話式フローチャートのパフォーマンスを向上する可能性があります。 値が TRUE の場合、 IBM ® Campaign はフローチャート・ログ・ファイルを一度だけ開き、フローチャート・サーバー・プロセスの終了時に閉じます。 TRUE の値を使用する副作用としては、ログに記録されたばかりのメッセージがログ・ファイルに直ちに表示されないことがあります。 IBM ® Campaign がログ・メッセージをファイルにフラッシュするのは、内部バッファーが満杯になったか、ログ・メッセージ数が logFileBufferSize プロパティーの値と等しくなった場合だけであるためです。
値が FALSE の場合、 IBM ® Campaign はフローチャート・ログ・ファイルを開いてから閉じます。
デフォルト値
FALSE
有効な値
TRUE | FALSE
logFileBufferSize
構成カテゴリー
Campaign|partitions|partition[n]|server|logging
説明
このプロパティーは、keepFlowchartLogOpen の値が TRUE の場合に使用されます。ログに書き込まれる前に、バッファーに送られるメッセージの数を示す値を指定します。 値が 1 の場合、すべてのログメッセージは即時にファイルに書き込まれ、バッファリングは事実上無効になりますが、パフォーマンスに悪影響があります。
keepFlowchartLogOpenFALSE の場合には、このプロパティーは無視されます。
デフォルト値
5
クライアント・ポーリング間隔
構成カテゴリー
Platform|スケジューラー
説明
IBM ® Campaign は、ジョブの IBM® EMM Scheduler を通常の間隔 (この値によりミリ秒単位で指定された間隔) でポーリングします。デフォルト値は 60 秒です。このプロパティーを 10000 (10 秒) 未満の値に設定しないでください。キャンペーンのパフォーマンスが低下する可能性があるためです。
デフォルト値
60000
ステータス・ポーリング間隔
構成カテゴリー
Platform|スケジューラー|スケジュール登録|[製品]|[オブジェクト・タイプ]
IBM ® Campaign フローチャートでは、このプロパティーのパスは、Platform|スケジューラー|スケジュール登録|キャンペーン|フローチャートです
説明
IBM® EMM スケジューラーは、ステータスを報告していないスケジュールされたオブジェクト (例えば、フローチャートまたはメーリング) の実行ステータスを取得するために、製品を通常の間隔でポーリングします。間隔はミリ秒単位で指定します。デフォルト値は 10 分です。ポーリング間隔を、より高い頻度 (より小さい値) に設定すると、システム・パフォーマンスに悪影響が出る可能性があります。ポーリング間隔の頻度が少なくなるように (大きな値に) 設定すると、システムへの負荷が減少します。 IBM ® Campaign では、完了までに 10 分を超える Campaign フローチャートが大量にある場合、ポーリング間隔の頻度が少なくなるように設定します。
デフォルト値
600000