同時メモリ予算を追加する
静かな平均値ではなく、重複するプロセスから始めてください。例示的な4 GBワークシートでは、ホストツール用に700 MiB、APIプロセス用に900 MiB、データベース用に1,200 MiB、ワーカー1つ用に500 MiB、不確実性用に700 MiBを予約し、合計4,000 MiBとなります。これは名目上のプロファイルをほぼ消費し、より大きなリリースの重複に対する信頼をほとんど残しません。
測定された作業からCPU需要を推定する
代表的なリクエストまたはジョブ1つのCPU時間を測定し、ピーク完了率を掛けます。例えば、CPU時間25 ms × 秒間20リクエスト = 毎秒500 msのCPU、つまり平均0.5コアです。現実的なワーカーをアクティブにして繰り返し、ピークを検査します。平均値はバースト、スケジューリング、データベース待機を隠します。
制約シグナルを分離する
| 観測されたシグナル | 可能性のある次のチェック |
|---|---|
| 実行可能な作業を伴う高いCPU | ホットパスをプロファイリングし、より多くのCPUを比較する。 |
| メモリプレッシャーまたはプロセス終了 | 重複を減らすか、測定されたRAMを追加する。 |
| 低いCPUで遅いリクエスト | データベース、プール、外部待機を検査する。 |
| ワーカーが増えるとキュー年齢が上昇する | 同時実行数を下げ、共有依存関係を検査する。 |
リソースの決定を行う
プロファイリングが持続的な計算競合を示す場合にのみ、より多くのCPUを選択してください。同時ワーキングセットに予備がない場合は、より多くのRAMを選択してください。並列作業がAPIレイテンシや有用な完了率を損なう場合は、同時実行数を下げてください。トリガーとなる測定を記録し、1つの変数を変更した後で同じワークロードを繰り返します。