IBM Campaign のパフォーマンスに影響する構成プロパティー

構成プロパティーを調整して、IBM® Campaign のパフォーマンスを向上できます。

DB2NotLoggedInitially

構成カテゴリー
Campaign|partitions|partition[n]|dataSources|dataSourcename
説明

このプロパティーは、DB2® の一時テーブルのデータを設定する際に、IBM Campaignnot logged initially SQL 構文を使用するかどうかを決定します。

値を TRUE にすると、一時テーブルへの挿入のロギングが無効になり、その結果、パフォーマンスが向上し、データベース・リソースの消費量が少なくなります。TRUE に設定した場合、一時テーブル・トランザクションが何らかの理由で失敗すると、そのテーブルは破損した状態になり、ドロップしなければならなくなります。それまでにそのテーブルに含まれていたデータは、すべて失われます。

not logged initially 構文がサポートされていないバージョンの DB2 を使用している場合、このプロパティーは FALSE に設定します。

z/OS® で DB2 11 ユーザー・データベースを使用している場合は、このプロパティーを FALSE に設定してください。ユーザー・データベースにおいて BLU フィーチャーを ON にして DB2 10.5 を使用している場合は、DB2NotLoggedInitiallyDB2NotLoggedInitiallyUserTables の両方を 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 で利用可能なトークンは、以下のとおりです。

トークン 説明
<AMUSER> このトークンは、一時テーブルが作成されたフローチャートに関連する IBM Marketing Software ユーザー名に置換されます。
<CAMPAIGNCODE> このトークンは、一時テーブルが作成されたフローチャートに関連するキャンペーンのコードに置換されます。
<CAMPAIGNNAME> このトークンは、一時テーブルが作成されたフローチャートに関連するキャンペーンの名前に置換されます。
<DBUSER> このトークンは、一時テーブルが作成されたデータベースのデータベース・ユーザー名に置換されます。
<FLOWCHARTNAME> このトークンは、一時テーブルの作成と関連するフローチャートの名前に置換されます。
<KEYCOLUMNS> このトークンは、一時テーブルの列名に置換されます。
<TABLENAME> このトークンは、一時テーブルの名前に置換されます。
<USER> このトークンは、フローチャートを実行しているユーザーの Campaign ユーザー名に置換されます。
デフォルト値

デフォルト値が定義されていません。

次の値は、一時テーブルの作成直後にその一時テーブルに索引を作成し、データ検索プロセスを向上します。 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 に設定します。特定のフローチャートの値をオーバーライドするには、フローチャートを編集モードで開き、「管理」 > 「詳細設定」を選択して、「サーバー最適化」タブをクリックし、「このフローチャートでは一時テーブルを使用しない」を選択します。

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 による仮想メモリー使用量」の値を選択します。

doNotCreateServerBinFile

構成カテゴリー
Campaign|partitions|partition[n]|server|optimization
説明

パフォーマンスを向上させるには、このプロパティーを TRUE に設定します。このプロパティーが TRUE になっている場合、戦略セグメントは、IBM Campaign サーバーにバイナリー・ファイルを作成する代わりに、データ・ソースにセグメント一時テーブルを作成します。セグメント化プロセス構成ダイアログで、一時テーブルを収容するデータ・ソースを少なくとも 1 つ指定する必要があります。また、「AllowTempTables」プロパティーを TRUE に設定して、データ・ソースでの一時テーブルの作成を有効にすることも必要です。

デフォルト値

FALSE

有効な値

TRUE | FALSE

httpCompressionForResponseLength

構成カテゴリー
Campaign|partitions|partition[n]|server|optimization
説明

このプロパティーは、フローチャート固有のメッセージを対象に、IBM Campaign Web アプリケーションからクライアント・ブラウザーへの HTTP 応答の圧縮を有効にしたり構成したりします。Campaign Web アプリケーションは、このプロパティーをパーティションごとに 1 度だけ読み取ります。このプロパティーを変更した場合、Web アプリケーションを再始動して、その変更を有効にする必要があります。

圧縮すると、HTTP を介して送信されるデータの量が減るので、ページ・ロードの時間や対話単位時間を改善できます。

データの長さが httpCompressionForResponseLength の値 (KB 単位) 以上の応答はすべて圧縮の候補になります。その他の応答はいずれも圧縮されません。

圧縮すると、ネットワーク転送は減りますが、サーバー・サイドのリソースは必要になります。したがって圧縮は、データが大量で、使用可能なサーバー・サイドのリソースが十分ある場合のみ意味があります。ネットワーク遅延が発生して大量のデータ転送が低速になることがよくある場合は、特定の量のデータのロードに要する時間の長さを分析することができます。例えば、HTTP 要求の一部のサイズが 100 KB 未満だが、ほとんどは 300 KB から 500 KB の間だと仮定します。この場合、このプロパティーの値を大きくして 500 KB にし、サイズが 500 KB 以上の応答のみ圧縮されるようにします。

圧縮を無効にするには、値を 0 に設定します。

デフォルト値

100 (KB)

有効な値

0 (圧縮は無効) 以上

cacheSystemDSQueries

構成カテゴリー
Campaign|partitions|partition[n]|server|optimization
説明

パフォーマンスを向上させるには、この値を TRUE に設定します。TRUE に設定すると、このプロパティーは、照会結果をキャッシュに入れることで、IBM Campaign システム・テーブルに対して照会が何度も実行されないようにします。FALSE に設定すると、照会の結果はキャッシュに入れられません。

デフォルト値

TRUE

有効な値

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

loggingLevels

構成カテゴリー
Campaign|partitions|partition[n]|server|logging
説明

loggingLevels プロパティーは、重大度に基づいて、Campaign サーバー・ログ・ファイルに書き込む詳細度を制御します。

デフォルト値

MEDIUM

有効な値
  • LOW: 最も低い詳細度 (最も重大なエラーのみ) を表します。
  • MEDIUM
  • HIGH
  • ALL: トレース・メッセージを含み、主に診断を目的としています。
注: 構成およびテストの際には、loggingLevelsALL に設定するとよいかもしれません。この値にすると大量のデータが生成されるので、実稼働操作にはお勧めできない場合があります。ロギング・レベルをデフォルトより高く設定すると、パフォーマンスに悪影響が及ぶ可能性があります。

「ツール」 > 「ログ・オプション」を使用して、フローチャート内からこれらの設定を調整できます。

logFileBufferSize

構成カテゴリー
Campaign|partitions|partition[n]|server|logging
説明

このプロパティーは、keepFlowchartLogOpenTRUE の場合に使用されます。ログに書き込まれる前に、バッファーに送られるメッセージの数を示す値を指定します。値が 1 の場合、すべてのログメッセージは即時にファイルに書き込まれ、バッファリングは事実上無効になりますが、パフォーマンスに悪影響があります。

keepFlowchartLogOpenFALSE の場合には、このプロパティーは無視されます。

デフォルト値

5

cellCodeBulkCreation

構成カテゴリー
Campaign|partitions|partition[n]|server|systemCodes
説明

値を TRUE にすると、セル・コード・ジェネレーターを 1 回呼び出すだけで複数のセル・コードが生成されるので、セル・コードの大量作成時のセル・コード生成ユーティリティーのパフォーマンスが向上します。これはより効率的であり、推奨される設定です。また、フローチャート、テンプレート、およびプロセス・ボックスをコピーする際にも、値を TRUE にするとパフォーマンスが向上します。

値を FALSE にすると、セル・コードを生成するたびに 1 回ずつセル・コード・ジェネレーターが呼び出されます。「セグメント」プロセス・ボックス、「サンプル」プロセス・ボックス、「決定」プロセス・ボックス、またはターゲット・セル・スプレッドシートにおいて、セル・コードの生成に長時間かかっているようにみえる場合は、この値を TRUE に設定してください。

デフォルトの設定は、既存のカスタマイズ済みの実装をサポートするために FALSE になっています。既存のカスタム・セル・コード生成ユーティリティーを使用している場合は、新しいカスタム・ユーティリティーを実装するまでの間は、この設定をデフォルト値の FALSE のままにしておいてください。実装が行われた後、値を TRUE に変更できます。

カスタム・セル・コード生成ユーティリティーを使用していない場合は、値を TRUE に変更して、効率を改善してください。

デフォルト値

FALSE

有効な値

TRUE | FALSE

Campaign | caching

特定のオブジェクトは Web アプリケーション・サーバーでキャッシュされます。Campaign|キャッシング (caching) 構成プロパティーは、キャッシュに入れられたデータが保持される時間の長さを指定します。値が小さいほど、キャッシュが更新される頻度が高くなりますが、Web サーバーとデータベースの両方の処理リソースを消費するので、パフォーマンスに悪影響が及ぶ可能性があります。

クライアント・ポーリング間隔 (ミリ秒)

構成カテゴリー
Platform|Scheduler
説明

IBM Campaign は、ジョブの IBM Marketing Software Scheduler を通常の間隔 (この値によりミリ秒単位で指定された間隔) でポーリングします。デフォルト値は 60 秒です。このプロパティーを 10000 (10 秒) 未満の値に設定しないでください。キャンペーンのパフォーマンスが低下する可能性があるためです。

デフォルト値

60000

ステータス・ポーリング間隔

構成カテゴリー
Platform|Scheduler|Schedule registrations|[Product]|[Object type]

IBM Campaign フローチャートの場合、このプロパティーのパスは Platform|Scheduler|Schedule registrations|Campaign|Flowchart です。

説明

IBM Marketing Software Scheduler は、定期的な間隔で製品をポーリングし、状況が報告されていないスケジュール・オブジェクト (フローチャートやメール配信など) の実行状況を入手します。間隔はミリ秒単位で指定します。デフォルト値は 10 分です。ポーリング間隔が頻繁になる (値を小さくする) ほど、システムのパフォーマンスに悪影響を及ぼす可能性があります。ポーリング間隔の頻度が少なくなる (値を大きくする) ほど、システムへのロードが減少します。IBM Campaign の場合、完了までに 10 分を超える時間を必要とする Campaign フローチャートが大量にある場合には、ポーリング間隔の頻度を少なく設定してください。

デフォルト値

600000