Übertragung - "Wachsende" Dateien

444
Conor Taylor

Bei der Verwendung der Transmission-WebUI auf meinem Debian-Server ist mir aufgefallen, dass Transmission zu Beginn eines Downloads etwa 5 MB herunterlädt und dann einige Minuten stehen bleibt, bevor Sie fortfahren. Bei näherer Betrachtung wurde mir klar, dass während dieser Wartezeit die Download-Datei in meinem Download-Verzeichnis "wächst". Sobald diese Datei die Größe des Downloads erreicht hat, wird der Übertragungsdownload dort fortgesetzt, wo er unterbrochen wurde.

Ich frage mich nur, warum das so ist? Warum wird die Datei auf die volle Größe erweitert, wenn der Download beginnt, und nicht während des Downloads? Ich hatte gedacht, es könnte etwas mit dem freien Speicherplatz zu tun haben, aber es verwendet sicherlich duetwas oder etwas, um freien Speicherplatz im Download-Verzeichnis zu suchen, bevor der Download beginnt.

0

2 Antworten auf die Frage

1
Karan

Durch die Zuweisung von Speicherplatz für die gesamte Datei wird sichergestellt, dass der Torrent-Client nicht in eine Situation gerät, in der er einen Teil der Datei heruntergeladen hat und dann angehalten werden muss, da der verfügbare Speicherplatz knapp wurde. Es kann zwar genügend freier Speicherplatz vorhanden sein, wenn der Download beginnt, aber ohne zu reservieren, was ist die Garantie, dass er noch verfügbar ist, bis der Download abgeschlossen ist?

Je nach Client kann dies eine konfigurierbare Option sein. Der Client lässt möglicherweise sogar die Verwendung von Dateien mit geringer Dichte in Dateisystemen zu, die sie unterstützen.

1
Serge

an der Art und Weise, wie eine Torrent-Übertragung durchgeführt wird, und die Implementierung des weistTransmission . Wie Sie vielleicht wissen, verwendet es die p2p-Kommunikation, um Teile der Dateien von vielen Kollegen zu erhalten. Das Protokoll versucht, die Upload-Bandbreite über die Peers hinweg auszugleichen. Um dies zu erreichen, tauschen Peers regelmäßig die Informationen über Segmente des Torrents aus, die sie bereits heruntergeladen haben, die aktuelle Bandbreite und die zulässige (oder gemessene) maximale Upload-Bandbreite. Daher nimmt Ihr Client im Idealfall den Peer auf, der derzeit die niedrigste Last hat und ein Segment nicht geladen hat Ihr Kunde noch. Dies führt zu einer Belastung der Segmente außerhalb der Reihenfolge. Daher kann der Client zuerst das Segment laden, das sich nicht am Anfang der jeweiligen Datei befindet. DasTransmissionDer Client ordnet den gesamten erforderlichen Speicherplatz vor dem Segment zu, das er erhalten soll, sofern dies noch nicht geschehen ist. Dies dauert einige Zeit, da Transmissonauch alle Prüfsummen für neu zugewiesene Segmente aktualisiert werden müssen.

Ja, aber das Herunterladen außerhalb des Bestellbereiches erfordert * keine * Vorbelegung, oder? Es gibt Torrent-Clients, mit denen Sie die Pre-Allocation deaktivieren können. Dies bedeutet jedoch nicht, dass sie nacheinander heruntergeladen werden. Karan vor 11 Jahren 0
Wie bereits erwähnt, ist es von der Implementierung abhängig. Der Transmission-Client schreibt jedes Segment genau in die Datei (en). Ich nehme an, dies wird gemacht, um die Verfolgung des Materials zu vereinfachen und eine spätere Neuordnung der Segmente zu vermeiden. Außerdem vereinfacht es den Neustart der Übertragung, wenn Sie den Client anhalten und später erneut starten (z. B. haben Sie Ihren PC ausgeschaltet, da er zu laut ist, um Sie schlafen zu lassen :) Serge vor 11 Jahren 0
Ah ok, ich habe Transmission nicht so oft benutzt. Es hat also keine Möglichkeit, die Vorabzuteilung zu deaktivieren? Karan vor 11 Jahren 0
Nur mit seiner Manpage überprüft - es gibt keine solche Option. Serge vor 11 Jahren 0
Eigentlich habe ich bei der Hinzufügung der Option [gefunden] (https://trac.transmissionbt.com/ticket/849) und auch [wie] (https://trac.transmissionbt.com/wiki/EditConfigFiles#FilesandLocations) kann bei Bedarf deaktiviert werden. Es gibt sogar eine "volle" Option anscheinend (Standard ist "fast"). Karan vor 11 Jahren 0