データベースの平均CPU使用率またはコネクション数がしきい値を超えると、自動スケールアウトが発生します。データベースのボトルネックとなっているリソースに応じて、自動スケールアウトの基準をCPU使用率とするか、コネクション数とするかを選択してください。
マスターコンテナを除くレプリカコンテナの最大数は15です。
FEPClusterに含まれるすべてのPod(プライマリPodとすべてのレプリカPod)のCPU使用率の平均が、一定の期間、しきい値を超えていた場合にスケールアウトを実行します。
CPU使用率は、FEPClusterカスタムリソースに指定する、spec.fep.mcSpec.requests.cpu に指定する値を分母として計算されます。
FEPClusterに含まれるすべてのPod(プライマリPodとすべてのレプリカPod)のコネクション数の平均が、一定の期間、しきい値を超えていた場合にスケールアウトを実行します。
自動スケールアウトを実行するコネクション数のしきい値を、FEPサーバのmax_connectionsパラメータ以下の値で指定します。
コネクション数に基づくスケールアウト機能を利用する場合の前提条件は、以下のとおりです。
モニタリング機能(“2.3.8 モニタリングおよびアラート(FEPExporter)”参照)が有効になっている
モニタリング機能によってFEPサーバのコネクション数のメトリクスが収集されている
OCP/Kubernetesクラスタにカスタムメトリクスサーバが導入されている
カスタムメトリクスサーバが、モニタリング機能によって収集されたコネクション数の平均値を公開している
コネクション数に基づくスケールアウト機能を使用する場合、自動スケールアウト機能はカスタムメトリクスサーバに、以下のKubernetesリソースに紐づいたメトリクスを要求します。
kind: FEPCluster
apiVersion: fep.fujitsu.io/v2
name: FEPClusterの名称
namespace: FEPClusterを配備した名前空間の名称
要求するメトリクスの名称は、metricNameパラメタに指定した名前です。
このメトリクスは、指定されたFEPClusterの各Podのコネクション数の平均値の数値を表現している必要があります。
コネクション数に基づくスケールアウト機能を利用する場合は、FEPExporterは“4.3 FEPExporterのデプロイ”の手順で配備してください。
FEPClusterのメトリクスがスタンドアロンモードのFEPExporter(“4.4 スタンドアロンモードでのFEPExporter”参照)で収集される場合、コネクション数に基づくスケールアウト機能を利用できません。
注意
自動スケールアウト機能を使用する場合、FEPCluster同期モードは“off”である必要があります。
自動スケールアウトの設計時の注意事項
自動スケールアウト機能によるレプリカの追加は、一度に1つずつ行われます。また追加されたレプリカがサービスを提供できるようになるまでには、環境や格納されたデータ量に依存した時間がかかります。そのため、レプリカの増加が負荷の増加に追随できない場合があります。
自動スケールアウト機能によってレプリカ数が増えたとしても、新たに到着する要求は増えたレプリカに優先的に割り当てられるわけではありません。そのためレプリカ数が増えた後も既存のFEPインスタンスの負荷が高い状態が一時的に継続する場合があります。
自動スケールアウト機能によって増加するレプリカが処理できる要求は、データベースに対する参照要求のみです。更新を伴う要求は引き続きプライマリFEPインスタンスで処理されます。そのため自動スケールアウト機能が動作してもプライマリFEPインスタンスの負荷が減少しない場合があります。
現時点の自動スケールアウト機能では、レプリカの削除(レプリカ数の減少)は行われません。一時的な負荷の増加に伴ってレプリカ数が増加した後に負荷が減少しても、レプリカ数は増えたままとなります。必要に応じて手動でレプリカ数を変更してください。
自動スケールアウトを使用する場合は、パラメータをFEPClusterカスタムリソースに設定します。
FEPClusterのパラメータについては、“オペレーターリファレンス”の“FEPClusterパラメータ”を参照してください。