Ich möchte die kürzestmögliche Downloadzeit über SFTP für eine einzelne 1-KB-Datei erreichen, die auf einem MFT-Server gepostet wird. Derzeit betreibe ich eine Windows 8-Maschine RC2 DL360 G8 und libSSH, sehe aber eine Downloadzeit von 100 ms und wollte wissen, wie ich diese reduzieren kann.
Antwort1
Die einzige Möglichkeit, die Downloadzeit einer 1-KB-Datei zu begrenzen, besteht darin, die Latenz zu verringern und die Geschwindigkeit Ihres Speichergeräts zu erhöhen.
Der Grund hierfür liegt in der Art und Weise wie eine TCP-Verbindung hergestellt wird.
Es stellt eine Verbindung her und erhält zunächst ein Paket. Wenn dieses Paket erfolgreich ist, erhält es zwei, wenn das erfolgreich ist, erhält es vier. Dies wird jedes Mal erhöht, bis keine Pakete mehr ankommen (mehr lesen). So wird die Downloadgeschwindigkeit bestimmt, die erreicht werden kann. Wenn Sie nur eine 1 KB große Datei haben, wird sie nie die volle Downloadgeschwindigkeit erreichen, aber dieser Vorgang dauert einfach ein bisschen.
Je weiter eine Datei entfernt ist, desto länger dauert dieser erste Vorgang, da bei jedem Download eines Pakets oder Paketclusters ein Bestätigungspaket zurückgesendet wird. Je weiter dies entfernt ist, desto länger dauert dies. Bei großen Dateien laden Sie einen großen Teil der Datei auf einmal herunter, bevor Sie den Erhalt bestätigen. Deshalb erfolgt die Dateiübertragung schnell, nachdem die Verbindung ihre volle Geschwindigkeit erreicht hat.
In Ihrem Fall erreichen Sie diesen Punkt mit 1 KB Daten nie.
Wenn Sie die Datei von einem Ort in Ihrer Nähe herunterladen können, verbessert das die wahrgenommene Geschwindigkeit, und wenn Ihr Speichermedium ebenfalls schnell ist, hilft das ebenfalls. Das ist im Grunde alles, was Sie für kleine Dateien tun können.
Wenn Sie viele kleine Dateien haben, ist es schneller, eine komprimierte Version zu erhalten, die alle Dateien enthält.