オートスケーリングとSLAバランス
オートスケーリングとSLAバランス
1)目標と原則
自動スケーリングの目的は、SLO(レイテンシー/アベイラビリティ)を最低限のコストで維持することです。
SLA↔SLO↔SLAコスト:「無限の」スケールを追跡しないでください-エラーと金銭的限度の予算内でスケールします。
オープンロードモデル:受信リクエストは強度ストリーム'λ'を形成します。システムは平均並列性'N ≈ λ × W' (Little's law)を提供し、ここで'W'は平均サービス時間である。
2)トリガーに適した指標
技術的な:- CPU/RAM/IO(飽和のためのプロキシ)。
- 機内およびプールの待機。
- p95/p99アプリケーションのレイテンシ(実際にはSLOを反映)。
- RPS/到着レート。
- キュー:深さ、メッセージの年齢、処理速度。
- 成功した取引のシェア≤ T秒(預金、チェックアウト)です。
- トランザクションを確認する時間。
推奨事項:2-3信号を組み合わせます。たとえば、サービスのレイテンシ+プール、作業者のキューの深さ+年齢などです。
3)反応性と予測スケール
フィードバック:実際にはHPA/ASGの増加/減少のキュー。シンプルですが、遅延があります。
予測(フィードフォワード):カレンダー/過去のテレメトリー/市場イベント。プリウォームを有効にする:ピーク前にNインスタンスΔ tを上げます。
実際には:ハイブリッド-ベースライン(最小)、イベント前の予測ブースト、リアクティブがもたらす。
4)方針および安定性の変数をスケールして下さい
ターゲットトラッキング:メトリックをターゲットの近くに保ちます(例:CPU 60%)。
ステップスケーリング:過剰なステップ(積極的に接着)。
安定化の窓/クールダウン:滑らかなフラッピング(例えば。60-180秒)。
最低/最高:下および上限;max-DB/プロバイダの制限内。
5)レベル調整(建築カスケード)
1.周囲/APIゲートウェイ-弾性がありますが、限界とバックプレッシャーがあります。
2.サービス-待ち時間/RPS/プール待ちによるHPA。
3.キュー/ワーカー-KEDA/ASG by message depth/age。
4.DB/キャッシュ-慎重にスケーリング(レプリカ/シャーディング)、事前に。
ルール:「データ」が耐えるよりも早くアプリケーションを成長させないでください。
6)キューとリトルの法律(労働者を数える方法)
入力'λ' (msg/s)と平均処理時間'W' (s)のキューの場合:- 必要な並列処理は'N_min ≈ λ × W'です。
- ピーク/テールマージン:'N ≈ λ × W × (1。2–1.5)`.