MFT サーバーに投稿された 1 KB の単一ファイルの SFTP 経由のダウンロード時間を可能な限り短くしたいと考えています。現在、Windows 8 マシン RC2 DL360 G8 と libSSH を操作していますが、ダウンロード時間は 100 ミリ秒かかるため、これを短縮する方法を知りたいです。
答え1
1KB のファイルのダウンロード時間を制限できる唯一の方法は、レイテンシを下げ、ストレージ デバイスの速度を上げることです。
その理由は、TCP 接続の確立方法の性質にあります。
接続すると、まず 1 つのパケットを取得します。そのパケットが成功した場合は、次に 2 つを取得し、さらに成功した場合は 4 つを取得します。パケットの到着が停止するまで、この値が増加します (続きを読む)。ダウンロード速度はこのようにして決定されます。1KB のファイルしかない場合、ダウンロード速度が最大になることはありませんが、このプロセスが完了するまでに少し時間がかかります。
ファイルが遠くにあるほど、この初期プロセスが完了するまでの時間が長くなります。これは、パケットまたはパケットのクラスターがダウンロードされるたびに、確認パケットが送り返されるためです。ファイルが遠くにあるほど、この処理にかかる時間は長くなります。大きなファイルの場合、ダウンロードしたことを確認する前に、一度にファイルの大きなチャンクをダウンロードするため、接続が最高速度に達した後は、ファイル転送が高速になります。
あなたの場合、1KB のデータではその点に到達することはありません。
ファイルを近くの場所からダウンロードできれば、体感速度は向上します。また、ストレージ メディアが高速であれば、それも役立ちます。基本的に、小さなファイルの場合、できることはこれだけです。
小さなファイルがたくさんある場合は、すべてのファイルが含まれる圧縮バージョンを取得する方が高速です。