Link Agentのホストに必要なCPUとメモリは、提供するトンネルの数と、テストがトンネル経由で送るトラフィック量によって決まります。新しいLink Agentのホストを選ぶときや、既存のエージェントがmablアプリで容量の警告を表示し始めたときに、ここでの推奨事項を参考にしてください。基本的なシステム要件とネットワーク要件については、Link Agentの要件を参照してください。
ホストのティアから始める
想定するトンネル数とトラフィックに合ったティアを選び、この記事の残りの部分のガイダンスに従って調整してください。
| ティア | vCPU | メモリ | ディスク | 対象 |
|---|---|---|---|---|
| 最小 | 2 | 4 GB | 5 GB | トンネル1つ、少数の同時テスト、最大約150 Mb/sのトラフィック |
| 推奨 | 4 | 8 GB | 10 GB | 複数のトンネルまたは会社スコープのトンネル、数百Mb/sの持続的なトラフィック |
| 高スループット | 8 | 16 GB | 10 GB | 多数のワークスペースにサービスを提供する会社スコープのトンネル、500 Mb/s以上、数百の同時接続。1 Gbのネットワーク接続と組み合わせてください。 |
ディスク列の値には、エージェント本体、ログ、および最後のアップデート前に実行していたバージョンが含まれます。前のバージョンは、アップデートのロールバックが必要になった場合に備えて保持されます。
トンネル数に基づいてメモリを計画する
各トンネルはLink Agentの隣で独自のプロセスとして実行されるため、メモリはテスト数ではなく、エージェントが提供するトンネル数に応じて増えます。Link Agent自体には約400 MBが必要で、各トンネルには最大約500 MBが必要です。アップデートのインストール中は、既存の接続が完了するまでエージェントが一時的にトンネルプロセスを1つ余分に実行するため、提供するトンネル数より1つ多く見積もってください。
| エージェント上のトンネル数 | Link Agentのメモリ |
|---|---|
| 1 | 1.5 GB |
| 2 | 2 GB |
| 4 | 3 GB |
| 8 | 5 GB |
これらの値に加えて、オペレーティングシステム用の余裕を残してください。4 GBのホストは、最大4つのトンネルに対応します。Link Agentは起動時にホストを確認し、トンネルに対してメモリが不足しているように見える場合は警告をログに記録します。ホストのメモリが不足すると、オペレーティングシステムがテストの途中でトンネルプロセスを停止することがあるためです。
レガシーLinkからの移行中はより多くのメモリを計画する
アカウントがLink 3.0プロトコルに移行するまで、Link Agentはレガシートンネルも保持し、最大で2 GB多く使用することがあります。その間、4 GBのホストで提供するトンネルは1つにしてください。詳しくは、レガシーLinkからLink 3.0への移行を参照してください。
スループットに基づいてCPUを計画する
トンネル経由のすべての接続は暗号化され、暗号化のコストはトンネル数ではなくトラフィック量に応じて増えます。目安として、エージェントを通過するトラフィック150〜200 Mb/sごとに約1CPUコアを計画してください。たとえば、800 Mb/sを処理するエージェントには、トンネル用に4〜5コアが必要です。
ホストのCPU使用率は75%未満に保ってください。CPUを待たなければならないトンネルは、経由するすべての接続にレイテンシーを加え、エラーとしてではなくテストの遅延として現れます。ネットワーキングページ(Settings > Networking)の健全性列には、CPU、メモリ、その他のホストリソースが80%を超えるとエージェントの警告が、90%を超えると重大ステータスが表示されます。
同じトンネルにエージェントを追加してスケールアウトする
1台のホストで処理できる以上のトラフィックに対応するには、別のマシンで同じトンネル名のLink Agentを追加で実行します。mablは新しい接続をトンネル上のすべてのエージェントに分散するため、エージェントを追加するごとに容量が増え、1つのエージェントが停止してもトンネルは動作し続けます。
次の場合は、トンネルにエージェントを追加してください。
- 通常のテスト負荷で、エージェントの健全性にCPUまたはメモリの警告が表示される。
- Settings > Networkingのエージェント詳細で、トンネルが容量の上限に近いことが示されている。
- 最も忙しいプラン実行中にテストが遅くなり、同時に実行されるテストが減ると回復する。
スケールアウトすると、ホストにパッチを適用する場合などに、他のエージェントがトンネルを提供し続けている間に1つのエージェントをサービスから外すこともできます。
ホストのソケットバッファー上限を引き上げる
mablは、Link Agentを実行するすべてのLinuxおよびmacOSホストで、ソケットバッファー上限を引き上げることを推奨しています。デフォルトの上限は、長いネットワーク経路でトンネルがデータを転送できる速度を制限します。mablのテストでは、上限を引き上げることで、レイテンシー100〜250 msの環境でトンネルのスループットが約7倍になり、mablに近いホストの速度が低下することもありませんでした。
LinuxおよびmacOSインストーラーは上限の引き上げを提案するので、受け入れることをお勧めします。付属のスクリプトを後で実行することもできます。
sudo /opt/mabl/link-agent/bin/tuning.sh
このスクリプトは、Linuxではホスト全体のnet.core.rmem_maxとnet.core.wmem_maxの設定を、macOSではkern.ipc.maxsockbufを引き上げ、再起動後も変更を維持します。Windowsではこの変更は不要です。
これらはホストのカーネル設定であるため、コンテナが自身で変更することはできません。Link AgentをDockerまたはKubernetesで実行する場合は、コンテナホストまたはノードで上限を引き上げてください。
コンテナとKubernetesポッドも同じようにサイジングする
コンテナ化されたLink Agentには、VM上のものと同じCPUとメモリが必要です。上記のメモリガイダンスに従って、エージェントが提供するトンネルをカバーするようにコンテナのメモリ制限を設定し、2コア未満のCPU制限は避けてください。リソース設定の例については、Kubernetesでmabl Linkを実行を参照してください。