5.4. Dynflow のチューニング
Dynflow は、ワークフロー管理システムおよびタスクオーケストレーターです。これは Satellite のプラグインであり、Satellite のさまざまなタスクをアウトオブオーダー実行方式で実行するために使用されます。多くのクライアントが Satellite にチェックインし、多数のタスクを実行している状況では、追加のチューニングを行って起動できるエグゼキューターの数を指定することで、Dynflow のパフォーマンスを若干向上できます。
Dynflow に関連するチューニングの詳細は、https://satellite.example.com/foreman_tasks/sidekiq
を参照してください。
Sidekiq ワーカーの数を増やす
Satellite には、Dynflow によってスケジュールされたタスクを実行する dynflow-sidekiq
と呼ばれる Dynflow サービスが含まれています。Sidekiq ワーカーをさまざまなキューにグループ化して、あるタイプのタスクの多くが他のタイプのタスクの実行をブロックしないようにすることができます。
Red Hat は、複数のコンテンツビューの公開とプロモーション、コンテンツの同期、Capsule Server への同期など、一括同時タスク用に Foreman タスクシステムを拡張するために、sidekiq ワーカーの数を増やすことを推奨します。次の 2 つの方法を使用できます。
- ワーカーが使用するスレッドの数 (ワーカーの同時実行数) を増やすことができます。Ruby にはスレッドの同時実行性が実装されているため、値を 5 より大きくしても、効果は限定的です。
- ワーカーの数を増やすことができます。こちらの方法を推奨します。
手順
ワーカー数を 1 から 3 に増やします。各ワーカーのスレッド数/同時実行数は 5 つのままにします。
satellite-installer --foreman-dynflow-worker-instances 3 # optionally, add --foreman-dynflow-worker-concurrency 5
# satellite-installer --foreman-dynflow-worker-instances 3 # optionally, add --foreman-dynflow-worker-concurrency 5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: ワーカーサービスが 3 つあるかどうかを確認します。
systemctl -a | grep dynflow-sidekiq@worker-[0-9]
# systemctl -a | grep dynflow-sidekiq@worker-[0-9] dynflow-sidekiq@worker-1.service loaded active running Foreman jobs daemon - worker-1 on sidekiq dynflow-sidekiq@worker-2.service loaded active running Foreman jobs daemon - worker-2 on sidekiq dynflow-sidekiq@worker-3.service loaded active running Foreman jobs daemon - worker-3 on sidekiq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
詳細は、How to add sidekiq workers in Satellite6? を参照してください。