【回答】
sftp クライアントで帯域を制限する方法です。
-l オプションで帯域を制限することが可能です。
3Gのファイルを sftp でダウンロードしてみました。
オプションなしでは22.5MB/s で2分1秒かかりました。
一方で -l 1024*8*10 オプション(81920bit = 10M)
では9.9MB/s で4分45秒かかりました。とりあえずオプションは有効のようです。
(注意1)
SSHサーバ側はWindowsで構成しました。テスト用のファイルは以下のコマンドで一発でできます。
例えば以下のコマンドで3Gのファイルが一瞬でできます。
fsutil file createnew test.dat 3000000000
(注意2)
古いssh client のsftp コマンドは、帯域を制限する -l オプションがありません。例えば redhat 6.x系標準のコマンドは-l がありませんが、7.x ではオプションがあります。
# rpm -qa | grep openssh-clients
openssh-clients-5.3p1-84.1.el6.x86_64
# sftp
usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config]
[-o ssh_option] [-P sftp_server_path] [-R num_requests]
[-S program] [-s subsystem | sftp_server] host
sftp [user@]host[:file ...]
sftp [user@]host[:dir[/]]
sftp -b batchfile [user@]host
参考:
ftps と sftp の違い
sftp と scp の違い
(*)本ページは Redhat Enterprise Linux 7以後を想定しています。
最終更新日:2018/04/13
[Redhat Enterprise linux 6(EL) FAQ トップへ]
[FAQ CENTER トップ]