概要
業務でRTMPを使ったアプリケーションを運用しています。
このアプリケーションに対して、性能テストを行うことになりました。
対応した内容をまとめていきます。
ツール選定
当初はJMeterへプラグインを導入し実施する計画だったが、試験が上手くできませんでした。
そこで、Flazrを試したところ概ね動作を見せたため今回設定に至りました。
Flazrの導入
brew
でインストールすることができなかったので、パッケージはこちらのサイトから入手します。
https://sourceforge.net/projects/flazr/files/flazr/
※実行にはjavaが必要なので、ない場合はインストールが必要です。
Flazrの実行
Flazrの実行はダウンロードしたflazrディレクトリに潜り、下記形式のコマンドを実行します。
./client.sh -version [クライアントバージョン] -load [接続数] -threads [スレッド数] -host [IP] -port [ポート番号] -app [アプリケーション名] [ストリーム名]
実践
では実際にアプリケーションを用意して、Flazrを使ってみます。
アプリケーションはnginxで動画配信(RTMP)サーバーを構築して、OBSの映像ソースとして取り込む
のやり方を参考に、nginx
にRTMP
モジュールを追加する形で対応します。
これで準備は整いました。
では実際に負荷をかけていきます。
今回は100プロセスほど実行します。
実行すると下記のように、ターミナルに実行結果が流れ、コネクト状態になります
$ ./client.sh -version 00000000 -load 100 -threads 15 -host 192.168.33.99 -port 1935 -app live test
この状態で監視ツール(Mackerel)を見ると、負荷がかかっていることが確認できるかと思います。
まとめ
このようにFlazrを使うことで、RTMPに対して負荷試験を行うことができるようになります。
以上、最後まで読んでいただきありがとうございました。