アイドル状態のアカウント十個より、トンネルを飽和させる夜間バックアップ一回のほうが高くつく。利用者数ではその差は見えない。VPNサーバーのサイジングとは、二つの数値の比較である。実際に抱える同時実行数と、先に尽きる資源だ。容量の誤りの多くは、前者を選び、後者を決して測らないことから生まれる。この順で両方を行えば、ハードウェアの判断は勘ではなくなる。

アカウント数とピーク時間を比べる

アカウント数はライセンスでありサポートの境界である。ピーク時間は負荷だ。その時間に重なる作業を並べる。通話、遠隔管理、大きなダウンロード、バックアップ、そして人を待たせる社内アプリのリクエストである。次に各項目について、ゲートウェイを通過するか、どの方向かを印す。通話は対称で遅延に敏感であり、バックアップは一方向で遅い開始を許容する。だから経路の違う部分に負荷をかける。

方向によって、どの回線が重要かが決まる。家庭の上り回線は対称であることはまれで、一日中ダウンロードする支店は、ゲートウェイが悲鳴を上げるよりずっと前に下りの限界に達する。各項目の横に方向とトンネルの範囲を書く。社内宛先だけを運ぶゲートウェイと、すべてのインターネット通信を運ぶゲートウェイは、別のサイジング問題だからだ。

背景負荷を独立した行として加える。クライアントの更新、テレメトリ、そして転送以外にホストが行うすべてだ。これらのバイトは忘れられやすく、同じインターフェースで数えられる。

回線より先に尽きる資源を見つける

回線は候補の一つにすぎない。単一トンネルの暗号処理が一つのコアを占有し、インターフェースは半分遊んでいることがある。飽和したキューは、グラフでは平凡に見えるスループットで通話を使い物にならなくする。一本の遅い経路の先にある宛先も、クライアントの席からはゲートウェイの弱さに見える。三つの観察がこれらの場合を分け、どれもバースト試験を必要としない。

ObservationWhat to inspect
one core busy, bytes steadyper-core CPU, implementation, offload status
calls degrade during transfersqueueing and the access link
one remote destination slowthat route and its service

実行を許された転送で測り、同時作業は一度にではなく段階的に加える。持続速度と対話応答を一緒に読む。ピーク速度だけの試験は、使い物にならなくなったセッションを隠すからだ。通話が途切れるのに最大スループットを通過しているゲートウェイは、試験に合格していない。

次に、任意の負荷を止めた状態で同じ実行を繰り返す。バックアップを止めると動く限界は、そもそもゲートウェイの限界ではなかった。

比較を、弁護できる数値に変える

尽きた資源を選び、要件をその単位で表す。ピーク時間の目標使用率におけるコア数、各方向のビット毎秒、あるいは遅延上限の下での同時セッション数だ。更新、診断、復旧のための余裕を残す。計測した天井に座っているサーバーには、それを動かし続ける仕事の分が残っていないからだ。次に、その数値を生んだ構成の隣に数値を書く。クライアント数と使った試験も添える。

コアあたりの利用者数は、この演習で最も持ち運びできない数値だ。次の拠点が共有しないプロトコル構成と端末プロファイルを前提にしているからだ。計測は残し、式は捨てる。五十人の追加利用者の容量を求められたとき、正直な答えはその五十人のピーク時間プロファイルであり、掛け算ではない。

スループットだけでなく応答時間も記録する。一括転送だけを守る容量は、通話中の人々にとっての容量ではない。次のレビューはその差を問うだろう。

スケールアップと役割の分割のどちらかを選ぶ

計測した限界が一コアなら、同じ速度のコアを増やしても効かないことがある。より速いコアや別のワーカーモデルなら効く。限界が合計CPUなら、より大きなインスタンスが直接の解決策だ。限界がアクセス回線なら、サーバー側の変更は無意味で、比較はプロバイダーで終わる。WebとVPNの役割を別ホストに分けると、二つ目の管理面と引き換えに分離を買うことになる。

その選択肢は互いにではなく、記録した数値と比べる。制約でなかった資源を二倍にする変更は、利益のない費用だ。記録があればこそ、それを議論なしに言える。変更後は同じ負荷で再測定する。さもなければ、一つの推測を別の推測に置き換えただけだ。

関連記事