5.2. IM-Workflow 関連のジョブの実行に時間がかかる¶
関連する現象
5.2.1. 代理先同期ジョブ(バッチ)の処理に時間がかかる¶
対象バージョン¶
iWP / iAF の場合
- IM-Workflow 7.2.1 ~ 最新バージョン
intra-mart Accel Platform の場合
- 2012 Autumn(Alba) IM-Workflow 8.0.1 ~ 最新バージョン
原因¶
IM-Workflow は、IM-共通マスタのオペレーション情報を[同期バッチ用ワークテーブル]に登録します。代理先同期ジョブ(バッチ)は[同期バッチ用ワークテーブル]の情報を元に、IM-Workflowの代理設定を最新化します。インポートや登録オペレーションで、大量のマスタデータがIM-共通マスタに登録された場合、これに伴い[同期バッチ用ワークテーブル]にも大量にデータが登録されます。代理先同期ジョブ(バッチ)は[同期バッチ用ワークテーブル]のレコードをフェッチしながら、代理設定を最新化します。したがって、処理時間は[同期バッチ用ワークテーブル]の件数に比例します。
解決方法¶
以下の対策が考えられます。
[同期バッチ用ワークテーブル]のレコード件数を減らす。
- IM-共通マスタの全期間インポートが必須でなければ、スナップショットインポートを検討してください。
- 外部システムのデータをIM-共通マスタにインポートする場合、全件ではなく、その時点の差分にしてインポート件数を抑止してください。
インデックスを利用して、代理先同期ジョブ(バッチ)のフェッチの処理速度を上げる。
ご利用のデータベースのインデックスアドバイザ等を利用して、最適なインデックスを設定してください。チューニング分析対象のテーブル候補は以下の通りです。以下のテーブルに対してのインデックス設定を検討してください。
- imw_w_sync_batch
コラム
以下は、過去に 弊社にてチューニング検証を行ったインデックスです。ご利用の際には、インデックスの名称をご確認いただき、必要に応じて変更して実行するようにしてください。ただし、データベースアクセスはデータ状態やその他の環境に依存しますので、弊社で確認したレスポンスを保証するものでありません。あくまで参考としてご利用ください。create index idx_imw_w_sync_batch on imw_w_sync_batch(no);