Skip to content

Latest commit

 

History

History
107 lines (77 loc) · 4.51 KB

index.md

File metadata and controls

107 lines (77 loc) · 4.51 KB

English

Java版SINETStream性能測定結果

公開日: 2019年12月13日

本サイトでは、国立情報学研究所クラウド基盤研究開発センターのSINETStream開発チームが実施したJava版SINETStreamの性能測定結果を掲載します。 性能測定結果は順次更新していく予定です。

測定方法・環境

以下の3種類のプログラムを用意し、SINETStreamを介したデータの書き込みから読み込みまでの性能を測定しました。

  • Writer: Brokerへのデータの書き込み
  • Broker: SINETStreamのブローカーでバックエンドシステムとしてKafkaを用いるものとMQTTを用いるものを用意
  • Reader: Brokerからのデータの読み込み

測定環境は以下のとおりです。

LAN環境

Writer, Broker, Reader全てを同一のLANに接続されたサーバに配置し、全ての通信をLAN経由で実施しました。

  • サーバ仕様: Amazon EC2 m5.large AZ=ap-northeast-1a vCPU=2 CentOS7
  • ネットワーク仕様: 最大10Gbps

モバイル環境

WriterまたはReaderをSINETのモバイル網に接続されたデバイスに配置し、Writer-Broker間またはBroker-Reader間の通信をモバイル網経由で実施しました。

  • デバイス仕様: Raspberry Pi 3 Model B Plus Rev 1.3
  • ブローカーの配置はLAN環境と同様

ソフトウェア

  • kafka_2.12-2.3.0 (Kafkaブローカー)
  • mosquitto-1.6.2 (MQTTブローカー)
  • SINETStream 1.0.0
    • 測定プログラム
      • test.sh: 暗号化なしでの性能測定
      • test-tls.sh: TLSによる通信暗号化ありでの性能測定
      • test-crypto.sh: データの暗号化ありでの性能測定

モバイルネットワークの通信性能

ping(RTT)

source→ destination 最小 平均 最大 標準偏差
raspi→ aws 28.049 ms 37.384 ms 47.254 ms 5.403 ms

iperf3(スループット)

source → destination 平均スループット
raspi → aws 12.1 Mbits/s
aws → raspi 9.90 Mbits/s

SINETStreamの性能

Native(SINETStreamのバックエンドとして使用しているKafka・MQTTをそのまま利用する場合)と SINETStream(バックエンドとしてKafkaまたはMQTTを使用)のスループット測定結果を示します。

横軸は送信するメッセージサイズ(100B, 1KB, 64KB)、縦軸はスループットを示します。

モバイル環境での評価結果は、モバイルネットワークの性能に律速されていると考えられます。

  1. SINETStreamとNativeの比較 (LAN環境、暗号化なし) aws-aws-plain
  2. SINETStreamの性能 (LAN環境、TLSによる通信暗号化) aws-aws-tls
  3. SINETStreamの性能 (LAN環境、データの暗号化) aws-aws-crypto
  4. SINETStreamとNativeの比較 (Reader側モバイル環境、暗号化なし) aws-raspi-plain
  5. SINETStreamの性能(Reader側モバイル環境、TLSによる通信暗号化) aws-raspi-tls
  6. SINETStreamの性能(Reader側モバイル環境、データの暗号化) raspi-aws-tls
  7. SINETStreamとNativeの比較 (Writer側モバイル環境、暗号化なし) raspi-aws-plain
  8. SINETStreamの性能(Writer側モバイル環境、TLSによる通信暗号化) raspi-aws-tls
  9. SINETStreamの性能(Writer側モバイル環境、データの暗号化) raspi-aws-tls