ftp コマンド
ftp コマンドを使用すると、入力として /dev/zero を使用し、 出力として /dev/null を使用することによって、非常に大きいファイルを送信することができます。 これにより、 ディスクを利用せずに (ボトルネックとなる可能性があるため)、またメモリー内のファイル全体をキャッシュに入れる必要なく、ラージ・ファイルを転送できます。
> bin
> put "|dd if=/dev/zero bs=32k count=10000" /dev/nullこのコマンドは 10000 ブロックのデータを転送し、各ブロックのサイズは 32 KB です。 転送されるファイルのサイズを大きくまたは小さくするには、dd コマンドが読み取るブロックの数 (count パラメーター) を変更するか、ブロック・サイズ (bs パラメーター) を変更します。 ftp コマンドでのデフォルトのファイル・タイプは ASCII です。このタイプでは、すべてのバイトがスキャンされる必要があるため、遅くなるので注意してください。 可能であれば、転送には常にバイナリー・モード (bin) を使用するようにしてください。
ギガビット・イーサネットの「ジャンボ・フレーム」の場合、および MTU が 9180 以上の ATM の場合は、MTU サイズが大きいため、高いパフォーマンスを得るには、tcp_sendspace と tcp_recvspace が 65535 以上でなければなりません。 最適パフォーマンスを得るには、サイズを 131072 バイト (128 KB) にすることをお勧めします。 ギガビット・イーサネット・アダプターを SMIT ツールを使用して構成すれば、ISNO システム・デフォルト値は正しく設定されます。 ifconfig コマンドを使用してネットワーク・インターフェースを起動すると、ISNO オプションが正しく設定されません。
# no -o tcp_sendspace=65535
# no -o tcp_recvspace=65535
ftp> bin
200 Type set to I.
ftp> put "|dd if=/dev/zero bs=32k count=10000" /dev/null
200 PORT command successful.
150 Opening data connection for /dev/null.
10000+0 records in
10000+0 records out
226 Transfer complete.
327680000 bytes sent in 2.789 seconds (1.147e+05 Kbytes/s)
local: |dd if=/dev/zero bs=32k count=10000 remote: /dev/null
ftp> quit
221 Goodbye.
このデータ転送は、1500 バイトの MTU で 2 つのギガビット・イーサネット・アダプター間で実行されたもので、ここでは 114700 KB/秒というスループットが報告されています。これは 112 MB/秒または 940 Mbps に相当します。ftp> bin
200 Type set to I.
ftp> put "|dd if=/dev/zero bs=32k count=10000" /dev/null
200 PORT command successful.
150 Opening data connection for /dev/null.
10000+0 records in
10000+0 records out
226 Transfer complete.
327680000 bytes sent in 2.652 seconds (1.207e+05 Kbytes/s)
local: |dd if=/dev/zero bs=32k count=10000 remote: /dev/null
ftp> bin
200 Type set to I.
ftp> put "|dd if=/dev/zero bs=32k count=10000" /dev/null
200 PORT command successful.
150 Opening data connection for /dev/null.
10000+0 records in
10000+0 records out
226 Transfer complete.
327680000 bytes sent in 27.65 seconds (1.157e+04 Kbytes/s)
local: |dd if=/dev/zero bs=32k count=10000 remote: /dev/null
このデータ転送のスループットは 11570 KB/秒で、これは 11.3 MB/秒または 94.7 Mbps に相当します。