- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報
Maestro ユーザー ガイド
概要
インスタンスの調整とは、パフォーマンスの一時的な調整です。ワークフロー インスタンスが短時間に非常に大量のアクティビティを生成した場合に、Maestro によって適用されます。このメカニズムにより、リソースをすべてのワークフローに公平に分配し、プラットフォームの安定性を維持します。
調整がアクティブな場合、ワークフローの実行は中断なしに続行されますが、通常よりも完了に時間がかかる場合があります。アクティビティ量が減少すると、パフォーマンスは自動的に通常に戻ります。
調整の原因
調整は、1 つのワークフロー インスタンスが短時間に大量のアクティビティを実行した場合にアクティブ化されます。一般的なシナリオは次のとおりです。
- 大規模なバッチ処理: 何千もの項目を立て続けに処理するワークフロー
- 短いループ: 間隔を空けずにアクティビティを繰り返し実行するワークフロー ロジック
- 並列実行: 多数のアクティビティを同時に実行する複数の分岐
- 高頻度の連携: ループ内での高速な API 呼び出しやデータ操作
調整はエラー状態ではありません。単一のワークフローがリソースを過剰に消費するのを防ぐために設計された、プラットフォームの通常の動作です。
コンソール内の調整インジケーター
実行中のインスタンスが調整されている場合、Maestro に警告インジケーターが表示されます。
- インスタンス テーブル: インスタンスのステータスの横に ⚠ という警告アイコンが表示されます。このアイコンにマウス カーソルを合わせると、ツールチップに「アクティビティ量が多いため、インスタンスが調整されています。」と表示されます。
- インスタンスの詳細ページ: ページ上部の警告バナーに「This instance is being throttled due to high activity volume. Execution continues at reduced speed. (アクティビティ量が多いため、このインスタンスは調整されています。実行は速度を下げて続行されます。)」と表示されます。
このインジケーターは調整のステートをリアルタイムに反映し、各アクティビティの完了後数秒以内に更新されます。インスタンスの調整が解除されると、自動的に非表示になります。調整は一時的なものであるため、過去の調整イベントに関する履歴レコードやフィルターはありません。
調整時の動作
| アスペクト | 動作 |
|---|---|
| ワークフローの実行 | 実行は中断なしに続行されます。 |
| アクティビティの処理 | レートを下げて実行されます。 |
| データの整合性 | 完全に維持されます。データの消失や破損は発生しません。 |
| 完了 | ワークフローは正常に完了しますが、時間がかかります。 |
| 回復 | 自動で実行されます。アクティビティ量が減少すると、パフォーマンスは通常に戻ります。 |
アクションは不要です。調整は一時的なものであり、自己解決します。
頻繁に調整されるワークフローを最適化する
アクションは不要ですが、調整の発生頻度を減らすことができます。
アクティビティの頻度を減らす
- 処理速度が重要でない場合は、反復処理の間にわずかな待機時間を追加します。
- 可能な場合は、複数の操作を 1 つのアクティビティにまとめて処理します。
- 緊急ではない処理には非同期パターンを使用します。
ワークロードを分散させる
- 大きいバッチを複数のワークフロー インスタンスに分割します。
- 可能な場合は、バッチ処理をオフピーク時間にスケジュールします。
- キューに基づくパターンを使用して、作業が自然に分散されるように調整します。
ワークフローの設計を見直す
- 各反復処理について、すべてのアクティビティが必要かどうかを評価します。
- 類似する繰り返し操作を 1 つに統合することを検討します。
- ループ構造を見直して、最適化の余地がないか確認します。
よくある質問
調整はワークフローの結果に影響しますか? いいえ。調整は実行速度にのみ影響し、結果には影響しません。アクティビティはすべて完全に実行され、データはすべて保持されます。ワークフローで生成される結果は調整が適用されない場合と同じです。
調整の適用中にワークフローがタイムアウトすることはありますか? 調整によってタイムアウトの設定が変更されることはありません。調整された実行時間よりも短いカスタム タイムアウト値がワークフローに設定されている場合は、タイムアウトの調節が必要になることがあります。プラットフォームの既定のタイムアウトでは、調整された実行が考慮されます。
ワークフローの調整を無効化できますか? 調整はプラットフォーム レベルの保護であり、個々のワークフローで無効化することはできません。特定の高スループット要件がある場合は、UiPath サポートに問い合わせてユース ケースについてご相談ください。
調整はどのくらい続きますか? 調整の継続時間はワークフローのアクティビティ パターンによって異なります。アクティビティのレートが通常のレベルに下がったらすぐに、調整は自動的に解除されます。通常は数秒から数分以内です。
調整は他のワークフローに影響しますか? いいえ。調整はインスタンスごとに適用されます。他のワークフロー インスタンス (同じプロセスの他のインスタンスを含む) は、独立して通常の速度で実行されます。
以前は正常に実行されていたワークフローが調整されたのはなぜですか? 調整に影響を及ぼす要因はいくつか考えられます。入力データの量の変化、ワークフローの変更によるアクティビティ数の増加、プラットフォーム全体の負荷条件、量の多い他のインスタンスとの同時実行などです。