mjpg_streamerに大量アクセスしてみる。

勉強会で簡単にストリーミングサーバーをつれますぜ旦那、って話をしました。
そこで同時にどのくらい再生できるか〜みたいな質問を受けたのですが、自分で見るくらいにしか使っていなかったので検証したこともなく、イメージ的な回答しかできなかったので試してみました。

試したこと

 てきとーにとにかく沢山ひらいてみました。で、そのときのウェブサーバーとストリーミングサーバーの負荷がどうなっているか確認します。
 

じっけん

 環境は以下の通り。
  ホスト:CPU Core2 duo 3.16GHz、メモリ4G。KVM、mjpg_streamerを動作させる
  ウェブ鯖:ホストのKVM上で動作 メモリ512M
  ウェブ鯖へのcam.hogehoge.comでのアクセスを、ホストのmjpg_streamerへプロクシで転送

結果

アクセスの前

スクリーンショット(2010-11-21 21.31.18).jpg

アクセス中

スクリーンショット(2010-11-21 21.54.40).jpg

というわけで

 kvmっていうのがウェブ鯖です。
 アクセス中はwebサーバーに負荷が集中する、という予想通りの結果でとりあえずよかったです。この感じなら複数のソースを閲覧するのは余裕でいけそうな感じです。
 逆に大量のアクセスを捌くにはもっと効率のよい方法で配信しないとまずそうですね。mjpg_streamerはその名の通りmotion jpegでのJPEGファイルの連続再生なので、やはりffmpegなどで最適なフォーマットに変換した上でライブ配信した方が間違いないと思います。