運用コマンドレファレンス Vol.1

[目次][索引][前へ][次へ]


ttcp

[機能]

ttcpは2点間のTCP/UDPレベルでのスループットを計測します。任意のホスト間でトラフィックを発生させることができますが,両方のホストでttcpがサポートされている必要があります。

なお,本機能は障害時やネットワーク構築時の試験用の機能です。通常運用中に使用した場合,CP congestionの発生により本装置の運用に影響を与える恐れがあるので注意してください。

[入力モード]

装置管理者モード

[入力形式]

ttcp -t [<options>] [<trans-options>] <host>
ttcp -r [<options>] [<recv-options>]

[パラメータ]

-t
ttcp送信モードで動作します。

-r
ttcp受信モードで動作します。

[<options>]

-l <buf_len>
一回に送信/受信するデータのサイズをバイト単位で指定します。このオプションで設定可能な値は,tcpを利用する場合は1〜100000,udpを利用する場合は1〜65507です。このオプションの指定がない場合は8192に設定されます。

-u
udpを使用してデータを送信/受信します。このオプションの指定がない場合はtcpを使用します。

-p <port_num>
送信先/受信用ポート番号を指定します。このオプションで設定可能な値は1024〜65535です。このオプションの指定がない場合は5001に設定されます。

-v
詳細な統計情報について表示します。

-b <sock_buf_len>
ソケットバッファのサイズをバイト単位で指定します。このオプションで設定可能な値は1〜100000です。このオプションの指定がない場合,以下のように設定されます。
項目 送信側 受信側
tcp 8192 8192
udp 9216 41600
また,tcpモードではこの値が初期ウィンドウサイズに反映されます。

-f <fmt>
計測結果を出力する際の単位を指定します。<fmt>で指定できる値と出力する際の単位は以下のとおりです。このオプションの指定がない場合はキロバイト単位で表示されます。
<fmt> k K m M g G
単位 キロビット キロバイト メガビット メガバイト ギガビット ギガバイト

[<trans-options>]

-S
標準入力より送信データを読み込みます。このオプションの指定がない場合は送信するデータのパターンを自動生成します。

-n <n_buf>
送信するデータの数を指定します。このオプションの指定がない場合は2048に設定されます。

-D
TCPのNagelのアルゴリズムの利用を禁止します(TCP_NODELAY)。これによりMSS(Max Segment Size)より小さなデータでも即座に送信します。
ただし,-uオプションと同時に指定した場合,このオプションは無視されます。

<host>
データを送信する相手をIPアドレスまたはホスト名で指定します。IPアドレスとしてIPv4アドレスが指定可能です。

[<recv-options>]

-S
受信したデータをすべて画面に表示します。このオプションの指定がない場合は受信したデータを画面に表示しません。
ただし,-uオプションを指定した場合はこのオプションを指定しないでください。送信側がデータの送信を終了しても受信側はデータ待ち受け状態を維持します。

[実行例]

[表示説明]

ttcpコマンドの表示内容を次の表に示します。

表10-24 ttcpコマンドの表示内容

表示項目 表示内容 表示詳細情報
buflen=<buf_len> 送受信サイズ 一回の送受信で送信/受信できるデータの最大サイズ<buf_len>をバイト単位で表示します。
nbuf=<n_buf> 送信回数 データを送信する回数<n_buf>を表示します。
align=<align>/<offset> バッファ領域情報 <align>の倍数となる値から<offset>だけずれた位置がバッファ領域の先頭アドレスとなります。
port=<port_num> ポート番号 送信・受信で使用する受信側のポート番号<port_num>を表示します。
sockbufsize=<sock_buf_len> ソケットバッファサイズ ソケットバッファサイズ<sock_buf_len>をバイト単位で表示します。ただし,送信側では送信バッファサイズ,受信側では受信バッファサイズを表示します。
tcpまたはudp 送受信モード tcp/udpのどちらを利用するかを表示します。
-><host> 送信先 データの送信先<host>を表示します。
socket socket生成 socketを生成したことを表します。
sndbuf 送信ソケットバッファサイズ 送信ソケットバッファサイズを変更したことを表します。
rcvbuf 受信ソケットバッファサイズ 受信ソケットバッファサイズを変更したことを表します。
nodelay TCP_NODELAY TCPのNagleアルゴリズムの利用が禁止されたことを表します(TCP_NODELAY)。
connect 接続完了 対象ホストに接続したことを表します。
accept from <host> 接続受け付け <host>からの接続を受け付けたことを表します。
<sum_data>bytes in <r_second> real seconds 合計データサイズおよび実行実時間 送信/受信したデータサイズ<sum_data>の合計をバイト単位で表示します。送信・受信にかかった実時間<r_second>を秒単位で表示します。
=<data_per_sec>
<fmt>/sec+++
平均データ送受信サイズ(実時間ベース) 実時間一秒当たりに送信・受信したデータの平均サイズ<data_per_sec>を-fオプションで指定した単位<fmt>で表示します。
<sum_data>bytes in <c_time>CPU seconds 合計データサイズおよび実行CPU時間 送信/受信したデータサイズ<sum_data>をバイト単位で表示します。送信・受信にかかったCPU時間<c_time>を秒単位で表示します。
<data_per_csec> <fmt>/cpu sec 平均データ送受信サイズ(CPU時間ベース) CPU時間一秒当たりに送信・受信したデータの平均サイズ<data_per_csec>を-fオプションで指定した単位<fmt>で表示します。
<io>I/O calls I/Oコール回数 送信側:ソケットへのデータ書き出し回数<io>を表示します。
受信側:ソケットからのデータ読み込み回数<io>を表示します。
msec/calls=<t_per_call> 平均I/Oコール間隔 平均I/Oコール間隔<t_per_call>をミリ秒単位で表示します。
calls/sec=<c_per_sec> 平均I/Oコール回数 一秒当たりのI/Oコール回数<c_per_sec>を表示します。
<U>user ユーザー命令実行時間 ユーザー命令の実行にかかった時間<U> を秒単位で表示します。
<S>sys OS命令実行時間 OS命令の実行にかかった時間<S>を秒単位で表示します。
<R>real プログラム実行実時間 ttcpの実行にかかった実時間<R>を秒単位で表示します。
<P>% ttcp実行CPU/実時間比 CPU時間と実行実時間の比<P>を表示します。
(<P> = ( <U> + <S> ) / <R> )
<X>i + <D>d メモリ利用状況 text領域のメモリサイズの合計<X>とdata,stack領域のメモリサイズの合計<D>をキロバイト単位で表示します。
<M>maxrss 最大RSS プロセスが利用する物理メモリサイズ<M>の最大値をキロバイト単位で表示します。
<F>+<R>pf ページフォルト回数 I/O割り込みがない場合のページフォルト回数<F>とI/O割り込みがある場合のページフォルト回数<R>を表示します。
<C>+<I>csw プロセススイッチ回数 プロセスが能動的に行ったプロセススイッチの回数<C>とプロセスが非能動的に行ったプロセススイッチの回数<I>を表示します。
buffer address <addr> バッファ領域先頭アドレス バッファ領域の先頭アドレス<addr>を表示します。

[ユーザ通信への影響]

あり。

大量のデータを送信するとCP congestionが発生する可能性があります。CP congestionが発生すると他のアプリケーションから送信されたパケットが廃棄されてしまい,ルーティングプロトコルやftp,telnetなどの通信に影響を与えます。また,大量のデータを受信した場合もCP congestionが発生し,ftp,telnetなどの通信に影響を与えます。

[応答メッセージ]

ttcpコマンドの応答メッセージを次の表に示します。

表10-25 ttcpコマンドの応答メッセージ一覧

メッセージ 内容 備考
bad hostname: Connection refused ホスト名を解決できないため,接続できません。 送信側
bad hostname: Undefined error ホスト名解決時,未定義のエラーが発生しました。
socket: Too many open files in system. システム全体のファイルオープン数が多すぎます。
bind: Address already in use 指定したポートはすでに使用されています。 受信側
bind: Permission denied 指定したポートを利用する権限がありません。 受信側
connect: Connection refused ホストへの接続が拒否されました。 送信側
connect: No route to host ホストまでのルーティングテーブルがないために接続できません。 送信側
connect: Permission denied 指定したIPアドレスが不正です。 送信側
connect: Can't assign requested address 指定したポート番号が無効です。 送信側
connect: Operation timed out 接続はタイムアウトしました。 送信側
connect: Network is unreachable. 対象ホストのあるネットワークに接続できません。 送信側
accept: Too many open files in system. システム全体のファイルオープン数が多すぎます。 受信側
getpeername: Connection reset by peer. accept後,送信側によって切断されました。 受信側
IO: Broken pipe データ送信中にパイプが切断されました。 送信側
IO: Socket is not connected ソケットが接続されていません。
IO: Permission denied 指定ホストへのデータ送信の権限がありません。 送信側
IO: Message too long 送信しようとしているデータが大きすぎます。 送信側
malloc: Cannot allocate memory 指定したサイズのバッファ領域を確保できません。
malloc: Result too large 指定したバッファ領域のサイズが大きすぎます。

[注意事項]

[目次][前へ][次へ]


[他社商品名称に関する表示]

Copyright (c) 2005, 2011, ALAXALA Networks Corporation. All rights reserved.