4.4.1 設計指針
スケーリング対応機能でオートスケールを使用する場合は、スケールアウト/スケールインに使用する評価対象メトリクスの閾値、評価間隔、スケーリングポリシーなどの設定が必要です。以降で説明する内容に従ってチューニングし、適切な値を設定してください。なお、基本的なチューニングの設計方針に関しては、Kubernetesの公式のドキュメントを参照してください。
ここではHMP-PCTOとして特に注意が必要な観点について説明します。
オートスケールのチューニングの設計指針について、一般的な観点と、HMP-PCTO固有の観点それぞれに分けて説明します。
(1) 一般的な観点でのチューニングの設計指針
オートスケールをチューニングする上でのチューニング要素は、一般的に次の要素があります。
-
評価対象メトリクスの選定
-
評価対象メトリクスの閾値
-
評価対象メトリクスの評価間隔
-
評価対象メトリクスの許容範囲
これらの要素について、業務アプリケーションの要件に従って、次の観点でチューニングします。
|
項番 |
チューニング要素 |
チューニング観点 |
|---|---|---|
|
1 |
評価対象メトリクスの選定 |
オートスケールの評価対象の基準となるメトリクスを選定します。業務要件に合わせてシステムの負荷状況を評価するメトリクスを選定する必要があります。詳細は、「4.4.2 評価対象メトリクスの選定」を参照してください。 |
|
2 |
評価対象メトリクスの閾値 |
システムの過負荷を避けつつ、リソースの無駄を減らす閾値を設定する必要があります。このため、チューニング対象のKubernetesアプリケーションの過去のメトリクスデータを参照し、通常の負荷状態やピーク時の負荷の傾向を把握し、閾値を決定します。 |
|
3 |
評価対象メトリクスの評価間隔 |
負荷が急激に変動し、即座にスケーリングをすることが求められるシステムの場合は、短い評価間隔でメトリクスを評価する必要があります。一方、CPU使用率の瞬間的なスパイクの際に即座にスケーリングをすると、リソースの無駄が発生する場合もあります。 負荷の変動にどれだけ追従してスケーリングをするのかを踏まえて評価間隔を決定します。 |
|
4 |
評価対象メトリクスの許容範囲 |
評価対象メトリクスの許容範囲が狭いと、スケールするたびに閾値を超えてしまい、スケールアウト/スケールインを頻繁に繰り返してしまいます。そのため、適切な評価対象メトリクスの許容範囲を設定する必要があります。 |
(2) HMP-PCTO固有の観点のチューニングの設計指針
オートスケールをチューニングする上でのHMP-PCTO固有のチューニング観点を次の表に示します。
|
項番 |
チューニング要素 |
チューニング観点 |
|---|---|---|
|
1 |
Mediatorのスケールインの頻度 |
Mediatorで短時間に多数のスケールインが発生すると、トランザクション決着に必要なMediator数を満たせないため、スケールアウトによって十分なMediator数になるまでトランザクションが決着しないおそれがあります。そのため、Mediatorはスケールインの頻度を制限する必要があります。 具体的には、1つのトランザクションが決着するまでにスケールインするMediator数を1つまでに制限する必要があります。1つのトランザクションが決着するまでに掛かる最大時間の目安は、SQL-Participantのsql.transaction-termination.timeout-in-millisパラメタの設定値+40秒です。 |
Mediatorのスケールインの頻度について、次の図に示します。
|
|