FTPが遅い原因は?コマンドで転送速度を大幅に改善した方法。
2018/11/07
HTMLやCSS等のページをサーバにアップロードする際に、FFFTPやFilezillaを使用していたのですが、アップロードするファイル数がどんどん増えていくうちに、ディレクトリリストの表示がとてつもなく時間がかかるようになりました。
2~3分経ってもまだ結果が戻ってこない。いつになったらフォルダを表示してくれるのか。
この「ディレクトリリストの表示」の処理をスキップして、ファイルをアップロードできたら速くなるかもと考えて調べたところ、コマンドラインでFTPのアップロードをしてくれる素敵なツールがあったので、そのツールとコマンド使用例を紹介します。
このツールをコマンドで実行したところ、今までは4~5分かかっていた作業に10~20秒で済むようになって、とても感激してます。設定手順は以下の通りです。
スポンサーリンク
WinSCPツールのインストール・設定
以下の手順に沿ってFTPツールを入手し設定、実行しました。
- WinSCPをダウンロードする。WinSCPはFTPのツールです。こちらで入手可能です。
- WinSCP-5.13.4-Setup.exeをダブルクリックし、許諾を押す。

- カスタムインストールを選択>次へ

- インストール先を入力>次へ

- 翻訳版のチェックを外す>次へ

- 全てチェックを外す>次へ

- 好きなの選択して次へ

- インストールをクリック

- WinSCPを起動します。

- Toolsボタンの下矢印>Preferenceを選択

- Loggingを選択>Enable session logging on levelにチェック>Log Pathを入力

- インストールフォルダにWinSCP.comのファイルがあることを確認

WinSCPでFTP実行
- メモ帳を開き以下の文字列を参考にコマンドを入力>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サーバにコピーします。 - コマンドプロンプトを実行>以下のコマンドを入力し実行(または.batで実行)
C:\>"C:\Program Files (x86)\WinSCP\winSCP.com" /script="C:\Program Files (x86)\WinSCP\script.txt"
- 接続が成功すると「TLS connection established. Waiting for welcome message...」というメッセージが出るので、その後にFTPのパスワードを入力して待つと、script.txt内のcdやputのコマンドが上から順に実行される
FTPが遅い原因
FilezillaやFFFTPのユーザーインターフェイスでローカルのファイルをFTPサーバにアップロードする度に、ディレクトリリストを表示するコマンドが実行されるみたいで、サーバ上にファイルが沢山ある場合、リストが表示されるまで時間がかかります。アップロードはリストが表示されてから実行されるので、それまで待たないといけません。私の場合、それがFTPが遅くなる原因でした。
しかし、WinSCP.comをコマンドプロンプトで実行することで、ディレクトリリストの表示を実行せずにファイルのアップロードが出来るので、時間がかかりません。これのおかげで、数分かかっていた作業が数十秒で済むので本当に便利です。
因みに、WinSCP.comをダブルクリックするとコンソールが起動して、直接コマンド入力もできます。
スポンサーリンク
スポンサーリンク