ライブストリーミングの負荷テスト
WebRTC、RTSP、RTMPでの結果


ライブストリーミングの負荷テスト


この記事では、オープンソースのライブストリーミング負荷テストプログラムである「Bees With Machine Guns」についての説明とWebRTC、RTSP、RTMPでの負荷テスト結果を紹介します。


  

負荷テストプログラム「Bees With Machine Guns」とは

「Bees With Machine Guns」は、ライブストリーミングの負荷テスト用のプログラムで、もともとはアメリカの新聞「シカゴトリビューン紙」のウェブサイトのテスト用にHTTPのテストプログラムとして設計されました。このテストプログラムを、WebRTC、RTSP、RTMPといったライブストリーミングのプロトコルでも負荷テストを実施できるよう変更したものが、現在GitHubで公開されているものです。「Bees With Machine Guns」では、DOS(:Denial of Service)攻撃と同様に、AWSのEC2インスタンスをスピンアップし、アプリケーションに負荷を与えます。


負荷テストの基本的な機能

「Bees With Machine Guns」による負荷テストでは、仮想クライアントを作成することによって、どれだけの同時接続に対応できるかを確認することができます。 それぞれの負荷テストプログラムは、ライブストリーミングを視聴するクライアントを作成し、ライブストリームを配信しているサーバーに負荷をかけます。また、1つのプログラムで同時に複数の負荷を与えることができます。このテストプログラムはこちらの リンク>> より誰でも利用可能ですので、ストリーミングサービスの改善のために使ってみてください。

ベンチマーク

テスト条件:
テストはAWS c5.large instance (2 CPU, メモリ4GB,Javaのヒープサイズ2GB ) 上で、RTMP BeeとRTSP Bee、RTC Beeクライアントのテストプログラムを使って負荷テストを実施しています。 256kbpsのRTMPを使ったストリーム配信を実施し、下記が配信品質を保った状態でのWebRTC、RTSP、RTMPのそれぞれの視聴者数となりました。
  • WebRTC:400視聴者
  • RTSP (モバイル):1,800視聴者
  • RTMP:1,000 視聴者
  • ※同じタイプのサーバーでは約75-80の配信者からRTMP 480p 配信が可能です.
    Red5Proの超低遅延ストリーミングは高いパフォーマンス実証済みですが、今後もRed5Proの最適化を勧めていきます。
    是非トライアルでこのパフォーマンスをお試しください。

    コラム「低遅延への道」