OpenVPN 動作検証メモ

ゲーム関係ない、結構本気にただのメモ。そのうちちゃんとしたもの書く。

触った環境

VirtualBoxを使用してローカルの仮想環境上で検証

ホストPCスペック
CPU:Ryzen 7 3700X
メモリ:32GB

サーバー:Ubuntu 20.04 LTS(2コア、4GB RAM)
クライアント:Windows 10 Enterprise(1コア、4GB RAM)、VyOS 1.3(1コア、512MB RAM) x 9、

基本的にクライアントは1台だけWindowsにしておいて、あとは数を稼げるようにVyOSを複数使用。

触ってみた所感

  • シングルスレッドで動作するというが、I/Oも入るし、システム的にCPUの処理を他にも使われるので、マルチコアの方がパフォーマンスは出そう。
  • サーバーは接続しているクライアント数が増えてもメモリの使用量が増えていくだけで、CPUの負荷は上がらない。1000台で140MBほど。
  • コネクションを張るときも、I/O側の時間の方が遥かに長いので、一度に大量のリクエストが来ても結構さばける。(1000台から一斉に来てもCPU使用率が一瞬50%になるくらい)
  • データ圧縮は通信速度とCPU負荷を見ても、ほとんど違いを感じられない。微妙にデータの送信量が減って、ほんの少し通信速度が上がる気がする。

データ転送速度

iperf3を使用して計測。
転送サイズ指定だと複数台同時が計測しにくいので、60秒間流しっぱで計測。
複数台計測する時は、それぞれポート番号を変えて、サーバーとクライアントをそれぞれ起動。
OpenVPNのデータ圧縮はなし。
一応、OpenVPNのクライアントは1000台接続しておく。

サーバー

iperf3 -sp 5201

クライアント

iperf3 -c 192.168.56.1 -p 5201 -t 60

計測結果

1台のみ

約130Mbps

10台同時

約80Mbps

1台のみでOpenVPN未使用

約3Gbps