FFFTPのファイル転送を改善する方法
FFFTPによるファイル転送を改善する方法を紹介します。
2014.9.8追記
「FFFTPが遅い場合の対処」を公開しました。
FFFTPはSotaさんが開発されたフリーのFTPクライアントで、2011年8月31日に開発終了宣言が出されましたが、SourceForge.JPにて有志による開発・バージョンアップが行われています。
私は2012年10月現在、最新版であるffftp-1.98fを使っていますが、ファイル転送速度が以前使っていたffftp-1.97bよりも遅くなったように感じています。
また、使用するサーバによっては以下の「~がアップロードできませんでした」というエラーが頻繁に発生するようになりました。
このエラーが発生すると、一旦切断して再接続しないと転送が行えないようで、正直、実用に耐えられるものではありません。
ということで、1.97bと1.98fの転送ログを比較し、差分を解消することでファイル転送の改善を図ってみることにしました。
1.ファイル転送転送ログ
ffftp-1.97bとffftp-1.98fのファイル転送ログ(ファイル転送時に画面下に表示されるログ)を掲載します。赤色で示す部分がffftp-1.97bとの差分です。
ffftp-1.97bでindex.htmlを転送(バイナリモード)
>TYPE I
200 Type set to I
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
アップロードのためにホスト 222.22.222.44 (34010) に接続しています.
接続しました.
>STOR /index.html
150 Opening BINARY mode data connection for /index.html
226 Transfer complete
アップロードは正常終了しました. (1 Sec. 8921 B/S).
>TYPE A
200 Type set to A
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
ダウンロードのためにホスト 222.22.222.44 (49590) に接続しています.
接続しました.
>LIST
150 Opening ASCII mode data connection for file list
226 Transfer complete
ファイル一覧の取得は正常終了しました. (529 Bytes)
ffftp-1.98fでindex.htmlを転送(バイナリモード)
>TYPE I
200 Type set to I
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
アップロードのためにホスト 222.22.222.44 (59099) に接続しています. (TCP/IPv4)
接続しました. (TCP/IPv4)
>STOR /index.html
150 Opening BINARY mode data connection for /index.html
226 Transfer complete
アップロードは正常終了しました. (1 Sec. 8921 B/S).
>MFMT 20120510084000 /index.html
213 Modify=20120510084000; /index.html
>TYPE A
200 Type set to A
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
ダウンロードのためにホスト 222.22.222.44 (34327) に接続しています. (TCP/IPv4)
接続しました. (TCP/IPv4)
>MLSD
150 Opening ASCII mode data connection for MLSD
226 Transfer complete
ファイル一覧の取得は正常終了しました. (887 Bytes)
MFMTコマンドは、ファイルのタイムスタンプを変更するコマンドで、ffftp-1.97bでは実行されていないので、これを実行しないようにします。
また、転送に大きく影響するものではありませんが、MLSDコマンドもLISTコマンドに変更します。
2.MFMTコマンドを実行しないようにする
MFMTコマンドを実行しないようにするには、メニューバーの「オプション」→「環境設定」をクリック。
「転送1」タブの「アップロード/ダウンロードするファイルのタイムスタンプを維持」のチェックを外して「OK」をクリック。
これでMFMTコマンドが実行されなくなります。
3.MLSDコマンドをLISTコマンドに変更する
MLSDコマンドをLISTコマンドに変更するには、メニューバーの「接続」→「ホストの設定」をクリック。
該当ホストを選択して、「設定変更」をクリック。
「高度」タブの「LISTコマンドでファイル一覧を取得」をチェックして、「可能であればMLSDコマンドで一覧を取得」のチェックを外して「OK」をクリック。
これでLISTコマンドが実行されるようになります。
なお、このコマンドが実行されるのは、一回に指定したすべてのファイルの転送が完了した時点なので、前述のとおり、転送速度に影響するものではないと思います。
2項および3項の変更を行ったあとのログを掲載しておきます。
ffftp-1.98fでindex.htmlを転送(バイナリモード):変更後
>TYPE I
200 Type set to I
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
アップロードのためにホスト 222.22.222.44 (56066) に接続しています. (TCP/IPv4)
接続しました. (TCP/IPv4)
>STOR /index.html
150 Opening BINARY mode data connection for /index.html
226 Transfer complete
アップロードは正常終了しました. (1 Sec. 8921 B/S).
>TYPE A
200 Type set to A
>PASV
227 Entering Passive Mode (222,22,222,44,234,234).
ダウンロードのためにホスト 222.22.222.44 (45328) に接続しています. (TCP/IPv4)
接続しました. (TCP/IPv4)
>LIST
150 Opening ASCII mode data connection for file list
226 Transfer complete
ファイル一覧の取得は正常終了しました. (529 Bytes)
4.FTPSで接続しない
2項および3項の変更を行ってもエラーが解消しない場合、1.98fに機能追加されているFTPS接続の設定を変更してみてください。
私の場合、この変更を行うことでファイル転送エラーが解消されました。
FTPSはFTPで送受信するデータをSSLまたはTLSで暗号化するプロトコルで、セキュアな通信を行うためのものです。エラーが出ていない場合は本項の変更は行わないことを推奨します。
FTPS接続の設定を変更するには、メニューバーの「接続」→「ホストの設定」をクリック。
該当ホストを選択して、「設定変更」をクリック。
「暗号化」タブの「FTPS(Explicit)で接続」「FTPS(Implicit)で接続」のチェックを外して「OK」をクリック。
今回は実行コマンドをffftp-1.97bに合わせるというアプローチを行いましたが、「FFFTPの最大同時接続数を増やす方法」で紹介した同時接続数を増やすという手段もあるので色々試してみてください。
- FFFTPが遅い場合の対処
- FFFTPで長時間操作しなかった後のアップロードエラーを解消する
- FFFTPの最大同時接続数を増やす方法
- FFFTPでサーバ内でのファイルの移動やコピーを一発で行なう方法
≫ Movabletype5.2へバージョンアップしようと思ったらFFFTPが動かなかった from アルテッツァの造り方
サーバー移転してきた時に(多分)バージョン5.13だったMovableTypeのバージョンアップを実施しました。念のためDBのバックアップを実施し(「Mo... [続きを読む]