HowTo StreamingLoadTool


まず、QTSS/DSSインストール済みのマシンが2台必要です。1台は実験対象の当日に中継を配信するサーバー(以下「サーバー機」と呼びます)、もう1台は仮想クライアントとなるマシン(以下「クライアント機」と呼びます)です。
1)サーバー機のQTSS/DSSのムービー用ディレクトリ直下に streamingloadtool.mov という名前のムービーを作成して設置します。
  $ /Library/QuickTimeStreaming/Movies/streamingloadtool.mov
※このムービーは実際の生中継と同じ仕様が望ましいです(例えば私の場合、MWSF通訳中継用なら20kbpsな音声のみのMPEG4になり、花火中継用であれば、300kbpsな映像・音声付のMPEG4になります)
2)次にクライアント機の streamingloadtool.conf を編集します。
ここでは、LAN内での実験を想定し、実験対象のサーバーへ同時に300クライアントが接続できるかどうかを実験します。サーバー機のIPは192.168.0.5です。
——————————————————-
# This is a StreamingLoadTool config file
(snip)
# Set this to the # of concurrent clients you would like StreamingLoadTool to maintain
concurrentclients 300 <--目標の接続数
(snip)
# StreamingLoadTool should send a TEARDOWN after streaming for this # of seconds
movielength 120 <--テスト1セットあたりの継続時間(秒)
# If runforever is set to "no", StreamingLoadTool will quit after finishing the
# list of URLs provided below. If "yes" StreamingLoadTool will loop forever.
runforever yes <--手動で停止させる(ctl + c)まで、上記継続を何セットも繰り返す
(snip)
# List of rtsp URLs for StreamingLoadTool to execute
url rtsp://192.168.0.5/streamingloadtool.mov <--負荷実験をするサーバーとムービーのURL(複数行を書いて複数サーバーのテストも可能)
-------------------------------------------------------
※各OS別のstreamingloadtool.confの所在は以下のとおり。
 MacOSX -> /Library/QuickTimeStreaming/Config/streamingloadtool.conf
 Windows ->C:?Program Files?DarwinStreamingServer?streamingloadtool.conf
 Linux -> /etc/streaming/streamingloadtool.conf
3)次にStreamingLoadToolを起動します。ターミナルを使用し、以下のコマンドを入力します(場合によってはsudoを併用するか、先にsu(super user=root)になっておく必要があります)
MacOSX -> /usr/bin/StreamingLoadTool -f /Library/QuickTimeStreaming/Config/streamingloadtool.conf
Linux -> /usr/local/bin/StreamingLoadTool -f /etc/streaming/streamingloadtool.conf
4)動作の監視:コマンド起動後はターミナルに以下の様に表示されます。
——————————————————-
$ sudo /usr/bin/StreamingLoadTool -f /Library/QuickTimeStreaming/Config/streamingloadtool.conf
Checking for ‘streamingloadtool.mov’ on the target servers
Done checking for ‘streamingloadtool.mov’ on all servers
StreamingLoadTool test in progress.
Config file: /Library/QuickTimeStreaming/Config/streamingloadtool.conf. Client type: RTSP/ReliableUDP client. Num clients: 300.
Movie length: 120. Run forever: 1. HTTP cookie: 1000300. Port: 554
Writing StreamingLoadTool log at: streamingloadtool.log
Active Playing Attempts Success Errors Failed
300 64 300 0 0 0
300 235 300 0 0 0
300 249 300 0 0 0
300 260 300 0 0 0
300 269 300 0 0 0
300 269 317 0 0 17
300 270 329 0 0 29
——————————————————-
ここで、重要なのは以下の項目です
Playing(実際に接続できたクライアント数)
Attempts(接続を試みた数=クライアント起動数)
Failed(接続を試みたが失敗したクライアント数)
つまりこの表示は300件がさばけるかどうかを実験した結果、サーバー機の限界が270クライアント程度であり、これ以上接続しても失敗するだろうということを示しています(実際には数十分間かけて、限界まで試した方が良いですが、例示ということで今回はここまでにしておきます)
5)実験を終了するために”ctl” + “c”を押しますと以下の様に表示されます。
^CSending TEARDOWNs.
StreamingLoadTool test complete. Total number of connections: 329.
※329は成功した接続数ではなく、クライアント機側が接続を試みた数かな?