Viele Dateien so schnell wie möglich archivieren

Viele Dateien so schnell wie möglich archivieren

Ich implementiere ein System zum Herunterladen und Archivieren von Torrents. Ich möchte eine Torrent-Datei (die mehrere kleine Dateien enthält) herunterladen und dann archivieren. Die Leistung meiner Festplatte ist schlecht. Daher möchte ich eine effiziente Methode zum Archivieren von Dateien.

Ich habe mehrere Möglichkeiten:

1.Laden Sie die Dateien auf eine normale Festplatte/ein normales Dateisystem herunter und tarnen Sie sie anschließend mit einem normalen Unix- tarBefehl.

2.Erstellen Sie ein leeres TAR-Archiv, mounten Sie es anschließend im Schreibmodus archivemountund starten Sie anschließend den Torrent-Download im gemounteten Pfad.

3.Ähnlich wie Option2aber mit ZIP-Datei statt Tar.

4.Da ich Dateien über einen Webbrowser bereitstellen möchte: Implementieren Sie eine Software/ein Skript, um einen Ordner im Handumdrehen in ein TAR-Format zu konvertieren. (Ich habe vor Jahren hierfür ein Python-Skript (uWsgi/Nginx) geschrieben. Da TAR jedoch für jede Datei eine Prüfsumme erfordert, war die Leistung ziemlich schlecht.)

5.Suchen Sie einen Torrent-Client, der direkt in eine TAR/Zip-Datei schreiben kann. (Sehr unwahrscheinlich)

Welchen Weg sollte ich in Betracht ziehen?

Danke schön.

Antwort1

Die beste Leistung liegt wahrscheinlich immer noch bei 4, wenn die Festplatte wirklich Ihr Engpass ist. Dadurch müssen Sie keine wertvollen IOPS mehr für das Kopieren von Dateien von einem Ort zum anderen aufwenden.

Außerdem ist Option 4 wirklich die einzige Option, die es dem Client ermöglicht, den Torrent sofort herunterzuladen, sobald Ihr Server mit dem Herunterladen fertig ist, was bedeutet, dass der Client tatsächlich schneller auf seine Daten zugreifen kann. Auf diese Weise haben Sie außerdem die Möglichkeit, dem Benutzer ganz einfach das Herunterladen einzelner Dateien zu gestatten (kinderleicht, da diese einfach auf Ihrem Dateisystem liegen).

Ich würde untersuchen, warum Tar Ihnen eine so schlechte Leistung lieferte. Ich bezweifle wirklich, dass die Prüfsummen Ihr Problem waren, da sie, soweit ich mich erinnern kann, nicht einmal in den Daten enthalten sind. Gibt es einen Grund, warum Sie die Ausgabe von GNU Tar nicht einfach direkt an den Webbrowser weiterleiten können, anstatt Ihren eigenen Tar-Packer zu schreiben?

Eine Herausforderung wäre, dem Client bei diesem Ansatz eine korrekte Inhaltslänge bereitzustellen. Wenn Ihnen das egal ist, können Sie dies einfach weglassen, und dann würde Ihr Client einfach keinen Prozentzähler für den Download sehen. Je nach Anwendung ist dies möglicherweise nicht wichtig.

verwandte Informationen