FTPが遅い原因は?コマンドで転送速度を大幅に改善した方法。

itrelated

HTMLやCSS等のページをサーバにアップロードする際に、FFFTPやFilezillaを使用していたのですが、アップロードするファイル数がどんどん増えていくうちに、ディレクトリリストの表示がとてつもなく時間がかかるようになりました。

2~3分経ってもまだ結果が戻ってこない。いつになったらフォルダを表示してくれるのか。

この「ディレクトリリストの表示」の処理をスキップして、ファイルをアップロードできたら速くなるかもと考えて調べたところ、コマンドラインでFTPのアップロードをしてくれる素敵なツールがあったので、そのツールとコマンド使用例を紹介します。

このツールをコマンドで実行したところ、今までは4~5分かかっていた作業に10~20秒で済むようになって、とても感激してます。設定手順は以下の通りです。

 

スポンサーリンク

WinSCPツールのインストール・設定

以下の手順に沿ってFTPツールを入手し設定、実行しました。

  1. WinSCPをダウンロードする。WinSCPはFTPのツールです。こちらで入手可能です。
  2. WinSCP-5.13.4-Setup.exeをダブルクリックし、許諾を押す。winscpインストール手順
  3. カスタムインストールを選択>次へwinscpインストール手順
  4. インストール先を入力>次へwinscpインストール手順
  5. 翻訳版のチェックを外す>次へwinscpインストール手順
  6. 全てチェックを外す>次へwinscpインストール手順
  7. 好きなの選択して次へwinscpインストール手順
  8. インストールをクリックwinscpインストール手順
  9. WinSCPを起動します。winscpインストール手順
  10. Toolsボタンの下矢印>Preferenceを選択winscpインストール手順
  11. Loggingを選択>Enable session logging on levelにチェック>Log Pathを入力winscpインストール手順
  12. インストールフォルダにWinSCP.comのファイルがあることを確認winscpインストール手順

 

WinSCPでFTP実行

  1. メモ帳を開き以下の文字列を参考にコマンドを入力>script.txtという名前で保存
    option confirm off
    open ftp://test@test.com -explicittls
    cd folder
    put c:\site\folder\*.html
    bye
    
    option confirm offでputコマンドの上書き保存の確認メッセージを除去。openでFTPサーバに接続、-explicittlsオプションでTLSを適用。cdで自分の好きなフォルダに移動し、putで指定したローカルにある全てのHTMLファイルをFTPサーバにコピーします。
  2. コマンドプロンプトを実行>以下のコマンドを入力し実行(または.batで実行)
    C:\>"C:\Program Files (x86)\WinSCP\winSCP.com" /script="C:\Program Files (x86)\WinSCP\script.txt"
    
  3. 接続が成功すると「TLS connection established. Waiting for welcome message...」というメッセージが出るので、その後にFTPのパスワードを入力して待つと、script.txt内のcdやputのコマンドが上から順に実行される

 

FTPが遅い原因

FilezillaやFFFTPのユーザーインターフェイスでローカルのファイルをFTPサーバにアップロードする度に、ディレクトリリストを表示するコマンドが実行されるみたいで、サーバ上にファイルが沢山ある場合、リストが表示されるまで時間がかかります。アップロードはリストが表示されてから実行されるので、それまで待たないといけません。私の場合、それがFTPが遅くなる原因でした。

しかし、WinSCP.comをコマンドプロンプトで実行することで、ディレクトリリストの表示を実行せずにファイルのアップロードが出来るので、時間がかかりません。これのおかげで、数分かかっていた作業が数十秒で済むので本当に便利です。

因みに、WinSCP.comをダブルクリックするとコンソールが起動して、直接コマンド入力もできます。

 

スポンサーリンク

↑ ページの先頭へ

スポンサーリンク