GoogleCloudPlatform

GCPベンチマーク#1 GCE インスタンス間の通信

More than 1 year has passed since last update.

GCPのインスタンス間のネットワーク速度を計測するために、PerfkitBenchmarkerを使用する。PerfKitbenchmarkerにはiperfなどのベンチマークツールが含まれており、各クラウドに対応しているので、クラウド同士の比較なども簡単にできる。
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker

クラウド上でプロビジョニングするモードでは以下のコマンドを実行するだけで、ノードが2台とネットワークが作成され、ベンチマークを行なった後、ノードが削除されるので、クラウドの性能を計測するのに便利である。
また既に立ち上げているノードを利用することも当然できる。

今回は実行環境としてCloudShellを使用し、プロビジョニングモードでPerfKitBenchmarkerを実行。

git clone https://github.com/GoogleCloudPlatform/PerfKitBenchmarker.git
cd PerfKitBenchmarker
pip install -r requirements.txt -t lib
export PYTHONPATH=~/PerfKitBenchmarker/lib:$PYTHONPATH

n1-standard-8:thread_count:1, us-central1-aで計測

$ ./pkb.py --cloud=GCP --machine_type=n1-standard-8 --benchmarks=iperf --ip_addresses=INTERNAL --zones=asia-east1-c --iperf_sending_thread_count=8
-------------------------PerfKitBenchmarker Results Summary-------------------------
IPERF:
  receiving_machine_type="n1-standard-8" receiving_zone="us-central1-a" runtime_in_seconds="60" sending_machine_type="n1-standard-8" sending_thread_count="1" sending_zone="us-central1-a"
  Throughput                         1204.000000 Mbits/sec                      (ip_type="external")
  Throughput                         8565.000000 Mbits/sec                      (ip_type="internal")
  Throughput                         1672.000000 Mbits/sec                      (ip_type="external")
  Throughput                         8522.000000 Mbits/sec                      (ip_type="internal")
  End to End Runtime                  747.215729 seconds

-------------------------

n1-standard-8:thread_count:8, us-central1-aで計測

-------------------------PerfKitBenchmarker Results Summary-------------------------
IPERF:
  ip_type="internal" receiving_machine_type="n1-standard-8" receiving_zone="us-central1-a" runtime_in_seconds="60" sending_machine_type="n1-standard-8" sending_thread_count="8" sending_zone="us-central1-a"
  Throughput                        12139.000000 Mbits/sec
  Throughput                        13228.000000 Mbits/sec
  End to End Runtime                  583.234252 seconds

-------------------------

n1-standard-8:thread_count:8, asia-east1-cで計測
1coreあたり2Gbps、1node辺りの最大スループットは16Gbpsなので、理論値の98.6%でている。

-------------------------PerfKitBenchmarker Results Summary-------------------------
IPERF:
  ip_type="internal" receiving_machine_type="n1-standard-8" receiving_zone="asia-east1-c" runtime_in_seconds="60" sending_machine_type="n1-standard-8" sending_thread_count="8" sending_zone="asia-east1-c"
  Throughput                        15200.000000 Mbits/sec
  Throughput                        15785.000000 Mbits/sec
  End to End Runtime                  531.351110 seconds

-------------------------