PoP のセルフホスト環境におけるキャパシティプランニングとスケーリング
自社ホスト型のSynthetic PoP の導入における容量を計画し、増加するワークロードに対応できるよう PoP をスケールアップしてください。 PoP のサイズとリソースは、合成テストの数、テストの実行頻度、テストスクリプトの複雑さなどのワークロードによって異なります。
容量の計画
優れたキャパシティ計画は、最小限のコストで最高のパフォーマンスと安定性を実現します。 Instana 制御された環境下で実施された標準的な IBM ベンチマークの測定結果および予測に基づき、 PoP の各サイズとリソース割り当てに関する指針を提供します。 実際のスループットやパフォーマンスは、さまざまな要因によって異なります。 PoP のパフォーマンスを向上させるには、以下の手順に従ってください:
- ワークロードと PoP のサイズ推定に基づき、十分なリソース割り当てを計画してください。
- 本番環境において、 Instana Agent を使用して PoP の稼働状況を監視します。
- 増加するワークロードに対応するため、必要に応じて特定の再生エンジンをスケールアップします。
Synthetic PoP, でデフォルトの CPU およびメモリリソース割り当てを使用する場合、 Kubernetes クラスタの物理リソースに少なくとも6コアのCPUと 4.8 GBのメモリが確保されていることを確認してください。そうすれば、以下のテスト構成によるパフォーマンスベンチマークテストに基づき、 API Simpleテストを2000回、 API スクリプトテストを100回、Browserスクリプトテストを15回、ISMテスト( SSL / DNS )を2000回実行できます
| テスト・タイプ | 頻度 | 期間 | 複雑性 | テスト数 |
|---|---|---|---|---|
| API シンプル・テスト | 1 分 | ~ 200 ミリ秒 | 2000 年 | |
| API スクリプト・テスト | 5 分 | ~ 800 ミリ秒 | HTTP 呼び出しを5回実行する | 100 |
| ブラウザー・スクリプト・テスト | 15 分間 | ~ 20 秒 | 2 つの Web ページを開く | 15 |
| SSL テスト | 1 分 | ~ 240 ミリ秒 | 2000 年 | |
| DNS テスト | 1 分 | ~ 240 ミリ秒 | 2000 年 |
PoP を監視するために Instana エージェントをインストールする場合、またはパフォーマンスを向上させるために PoP をスケールアップする場合、 Kubernetes クラスタ内に十分な物理リソースが確保されている必要があります。
PoP サイズとリソース割り振りの見積もりは、各コンポーネントのデフォルト構成からのリソース要求と制限を使用して、テーブルに示されているように、シンセティック・テストとテスト頻度でテストすることによって行われます。 Syntheticの PoP コンポーネントのデフォルト設定については、 PoP helm charts を参照してください。 同様に、 Instana エージェントおよび Kubernetes ( K8 )センサーのデフォルト設定に関する情報については、 「エージェントの helm チャート」 を参照してください。 再生エンジンのレプリカの数は、テストの数とその実行頻度に基づいて計算されます。 Instana のエージェント数は、 Kubernetes のワーカーノード数に基づいて計算されます。 デフォルトの設定では、 Kubernetes センサーの数は3に設定されています。 Kubernetes センサーのレプリカを3つ用意すれば、最大400ノードを監視できます。
ディスク・スペース所要量
次の表は、初期導入時の PoP のサイズごとの最小ディスク容量要件を示しています。 これらの要件はワーカーノードごとに指定されており、 K3s のインストール、 Helm のインストール、コンテナイメージの保存、およびSyntheticのコアコンポーネントである PoP のデータが対象となります。
デフォルトの設定( PoP、CPU: 300m、メモリ: 300Mi )における、実際に測定されたディスク使用量は以下の通りです:
- K3s インストール容量:約1 GB
- Helm インストール容量:約1 GB
- PoP の合成ポッド(すべてのコンテナ):約7 GB
- 合計:約9 GB
| PoP サイズ | ノードごとのディスク・スペース最小量 | ワーカー・ノード | 必要なディスク容量の合計 | 使用状況の詳細 |
|---|---|---|---|---|
| xsmall | 50 GB | 1 | 50 GB | K3s (約1 GB)、 Helm (約1 GB)、 PoP コンテナ(約7 GB)、バッファ(約41 GB) |
| 小 | 100 GB | 3 | 300 GB | K3s ノードあたり (~1 GB)、 Helm (~1 GB)、 PoP コンテナ (~20 GB)、バッファ (~78 GB) |
| 中間 | 200GB | 3 | 600 GB | K3s ノードあたり (~1 GB)、 Helm (~1 GB)、 PoP コンテナ (~40 GB)、バッファ (~158 GB) |
| ラージ | 400 GB | 6 | 2.4 TB | K3s ノードあたり (~1 GB)、 Helm (~1 GB)、 PoP コンテナ (~80 GB)、バッファ (~318 GB) |
XSmallのインストール - PoP の機能テスト
XSmall のインストールは、テストまたはデモの目的でサポートされています。 デフォルトの設定を使用する場合、 Kubernetes クラスタの物理リソースとして6コアのCPUと 4.8 GBのメモリが利用可能であれば、テスト構成を一定に保ったパフォーマンスベンチマークテストに基づき、 API のシンプルテストを10回、 API のスクリプトテストを5回、ブラウザスクリプトテストを1回、ISMテスト( SSL / DNS )を10回実行できます。
Instana エージェントを使用してSynthetic PoP を監視するには、 Kubernetes クラスターが以下の最小要件を満たしていることを確認してください:
| リソース | 要件 |
|---|---|
| ワーカー・ノード | 1 |
| CPU | 8 コア |
| メモリー | 7.1 GB |
| ディスク・スペース | ノードあたり50 GB |

小規模な設置 - 制作
小規模インストールは実動用です。 デフォルトの設定を使用する場合、 Kubernetes クラスタの物理リソースとして6コアのCPUと 4.8 GBのメモリが利用可能であれば、テスト構成を一定に保ったパフォーマンスベンチマークテストに基づき、 API のシンプルテストを2000回、 API のスクリプトテストを20回、ブラウザスクリプトテストを5回、およびISMテスト( SSL / DNS )を2000回実行できます。
Instana エージェントを使用してSynthetic PoP を監視するには、 Kubernetes クラスターが以下の最小要件を満たしていることを確認してください:
| リソース | 要件 |
|---|---|
| ワーカー・ノード | 3 |
| CPU | 12 コア |
| メモリー | 11.7 GB |
| ディスク・スペース | ノード当たり 100 GB |

中規模の設置 - 制作
中規模インストールは実動用です。 このワークロードに対応するには、再生エンジンを水平方向にスケールアップし、 PoP のコントローラー パラメータを調整し、CPUおよびメモリの上限を引き上げる必要があります。 Kubernetes クラスターの物理リソースに、少なくとも 28.4-core のCPUと 21.6 GBのメモリが利用可能な場合、テスト構成を一定に保ったパフォーマンスベンチマークテストに基づき、 API のシンプルテストを3500回、 API のスクリプトテストを250回、ブラウザスクリプトテストを80回、およびISM( SSL / DNS )テストを3500回実行できます。
Instana エージェントを使用してSynthetic PoP を監視するには、 Kubernetes クラスターが以下の最小要件を満たしていることを確認してください:
| リソース | 要件 |
|---|---|
| ワーカー・ノード | 3 |
| CPU | 34.4 コア |
| メモリー | 28.5 GB |
| ディスク・スペース | ノードあたり 200 GB |

大規模な設置 - 制作
大規模なインストールは実動用です。 このワークロードに対応するには、再生エンジンを水平方向にスケールアップし、 PoP のコントローラー パラメータを調整し、CPUおよびメモリの上限を引き上げる必要があります。 Kubernetes クラスタの物理リソースに、少なくとも64コアのCPUと 48.5 GBのメモリが利用可能な場合、テスト構成を一定に保ったパフォーマンスベンチマークテストに基づき、 API のシンプルテストを7000回、 API のスクリプトテストを600回、ブラウザスクリプトテストを200回、ISM( SSL / DNS )テストを7000回実行できます。
Instana エージェントを使用してSynthetic PoP を監視するには、 Kubernetes クラスターが以下の最小要件を満たしていることを確認してください:
| リソース | 要件 |
|---|---|
| ワーカー・ノード | 6 |
| CPU | 74.5 コア |
| メモリー | 57.7 GB |
| ディスク・スペース | ノードあたり400 GB |

自動化ツールを使用して PoP のサイズを推定する
Instana PoP のサイズを見積もり、容量計画を立てるのに役立つ自動化ツール「 synctl」 を提供しています。 このツールは、以下の例に示すように使用できます。
synctl get pop-size
synctl get size
スケールアップ
増加するワークロードをサポートするには、以下のように PoP コンポーネントをスケールアップします。
- 水平スケーリング: 異なるプレイバック・エンジンのレプリカ数を増やすために、より簡単な方法が提供されています。
- 垂直スケーリング: CPU およびメモリーの
requestsおよびlimitsの数を増やします。
水平スケーリング
現在、再生エンジンのみが水平方向のスケーラビリティーをサポートしています。 PoP Controller および Redis は、まだ水平方向のスケーラビリティーをサポートしていません。 PoP ワークロードは主にプレイバック・エンジン・ポッド上にあります。 特定のタイプのテストでより多くのワークロードをサポートするために、 values.yaml ファイルの replicas 数を増やすことができます。
以下の例は、 JavaScript 再生エンジンのレプリカを 2 に増やし、 BrowserScript 再生エンジンのレプリカを 3 に増やすことを示しています。
--set javascript.replicas=2
--set browserscript.replicas=3
垂直スケーリング
JavaScript プレイバック・エンジンと BrowserScript プレイバック・エンジンはリソースを大量に消費するため、より多くのテストをサポートするために、 requests および limits の CPU またはメモリーの数を増やすことができます。
たとえば、 JavaScript の再生エンジンでCPUの requests と limits を800 mおよび1000 m( 0.8/1.0 Core)に設定した場合、前述のテスト構成では40個の API スクリプトに対応可能です。
パフォーマンス・チューニング
2000 シンセティック・テスト/分を超えるワークロードをサポートするには、 PoP コントローラーを以下のように調整します。
- ユーザー資格情報を使用してより多くのテストをサポートするには、
controller.scheduleTestMaxPoolSizeパラメーターをより大きな値に調整します。 このパラメーターをサポートするには、シンセティック PoP 1.1.2 以降に アップグレード します。 - Instana バックエンドに送信される結果の数を増やすには、パラメータ
controller.publishAARThreadPoolSizeの値を高く設定してください。
パラメータ controller.resources.limits.cpu を500 m、500 Mi、 controller.resources.limits.memory 40、 controller.scheduleTestMaxPoolSizecontroller.publishAARThreadPoolSize 15に設定すると、 PoP コントローラーは、1分あたり9000件の API ユーザー認証による簡易テストに対応できます。