HowTo StreamingLoadTool

January 14, 2004

まず、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は成功した接続数ではなく、クライアント機側が接続を試みた数かな?

posted by kuni at 9:29 AM | permalink | HowTo StreamingLoadToolをはてなブックマークに追加 HowTo StreamingLoadToolをdel.icio.usに追加 HowTo StreamingLoadToolをlivedoorクリップに追加 HowTo StreamingLoadToolをYahoo!ブックマークに追加