| GXflow のパフォーマンスに関するヒント | |
GXflow をしばらく使用した後で、一部の操作の速度が低下することがあります。
ここでは、問題の原因を判断するためのガイドを提供するとともに、いくつかの提案および推奨事項を示します。
- タイプが ProcessInstance、Workitem、DocumentInstance、または Event であるオブジェクトをリストする API を使用する際には、それが大量のデータ (百万程度) を処理することに留意してください。適切な日付範囲を設定したフィルタを使用して、検索を絞り込むことができます。
- ワークフローエンジンとの接続を過度に作成すると、パフォーマンスの低下を招く可能性があります。そのため、Server.Connect() API の使用は控えめにする必要があります。
- 受信トレイや受信トレイに似たタイプのアプリケーションをプログラミングする際には、ログインの接続を作成した後で、セッション識別子をキャッシュし、Server.Load() メソッドを使用して、それを再利用 (有効な限り) することを推奨します。
- セッションの期限に留意してください。既定値は 30 分ですが、GXflow クライアントの設定で値を変更できます。
- Workflow API を使用し、匿名で操作を実行する必要がある場合は (スクリプトタスクやイベントマネージャなど)、接続を再利用できる WFADMINISTRATOR ユーザーの使用を推奨します。また、API に排他的アクセスが可能な特別なユーザーを使用することもできます。この目的でユーザーを設定するには、次の SQL ステートメントを実行します: UPDATE WFUsers SET WFUsrAccType = "A" Where WFUsrCod ="MY_USER".API に排他的アクセスするために設定されたユーザーは、GXflow クライアントは使用できません。
- WFSessions テーブルを定期的に空にします (メンテナンスユーティリティの説明を参照)。
- アクティビティのないインスタンスを確認します。長期間アクティビティのないプロセスインスタンスがある場合は、それが使用されるかどうかを評価して、システムのパフォーマンス低下を防ぐことをお勧めします。このようなインスタンスは一時的に停止できます。後でそれらが必要になった場合は、再度アクティブ化できます。また、それらのインスタンスの処理は行わないと決定されている場合は、終結させることもできます。
- 次のクエリを頻繁に確認します:
- 最も低速なステートメント
- 最も多く実行されているステートメント
- 最も低速なステートメントの実行計画を確認し、候補となっているインデックスが存在するかどうかを確認します (存在する場合は作成します)。
- クエリに影響しているロックがあるかどうかを確認します。
ワークリストをビルドするための最適化
|
|
|
|
|