Erklärung für die lächerlich langsame Kopiergeschwindigkeit

Ich sichere Datendateien von einem verschlüsselten Image auf ein anderes. Es handelt sich um Textdateien mit einer Größe von einigen hundert Kilobyte bis zu einigen Megabyte. Der Prozess ist unerträglich langsam geworden und dauert jetzt 2 Tage, um 8 Gigabyte zu kopieren.

Ich mache das mit einer Finder-Kopie in OSX Lion. Ich habe versucht, cp, rsync und ditto vom Terminal aus zu verwenden, aber Geschwindigkeitsprobleme bleiben bestehen. Ich habe auch festgestellt, dass die Geschwindigkeiten zu Beginn des Kopiervorgangs angemessen sind, aber ungefähr nach 10 % des Weges sehr schlecht werden. Sie verbessern sich auch vorübergehend nach einem Neustart. Hier ist die io-Last während einer Kopie:

mac:~ me$ iostat 5

      disk0           disk1           disk2           disk3 
KB/t tps  MB/s     KB/t tps  MB/s     KB/t tps  MB/s     KB/t tps  MB/s  
9.11  32  0.29   105.94  65  6.71     8.32 342  2.77   119.57  60  7.00 
7.03   7  0.05    16.00   6  0.09     4.00 558  2.18     0.00   0  0.00 
5.62   6  0.04   117.67  56  6.48     4.62 689  3.11     0.00   0  0.00

Ich weiß also gar nicht, wo ich anfangen soll, um die Ursache zu diagnostizieren. Einige Dinge, die ich in Betracht gezogen habe:

  • Die Verschlüsselungsschlüssel variieren zwischen den Bildern, wodurch ein Verschlüsseln und Entschlüsseln erforderlich ist
  • Das Bild ist nahezu voll ausgelastet
  • Das Laufwerk mit dem Image ist fast voll
  • Die Dateigrößen können stark variieren
  • Das Ziel ist stark fragmentiert

Ich kann jedoch keines davon ein- oder ausschließen und weiß nicht, wo ich anfangen soll, das Problem zu diagnostizieren

Wenn Sie den Aktivitätsmonitor (oder im Terminal iostat 5) öffnen - wie hoch ist die physische E / A-Last auf den betreffenden Laufwerken?
Wahrscheinlich ohne Zusammenhang, aber vielleicht auch nicht: Ich hatte kürzlich eine Episode, in der ein Time Machine-Backup bei der Arbeit nicht innerhalb eines Arbeitstages abgeschlossen werden konnte, also musste ich es abbrechen, als ich nach Hause ging (ich habe ein Macbook Air bei der Arbeit, das ich nachts mit nach Hause nehme ). Am nächsten Tag, nach einem Neustart, war die Sicherung in weniger als einer halben Stunde abgeschlossen.
Kaufen Sie sich das schnellste externe IO-Gehäuse, das mit Ihrem Computer kompatibel ist (ob FireWire 800 oder Thunderbolt oder USB 2.0) und wenn Sie es haben können, eine SSD. Übertragen Sie die Dateien unverschlüsselt auf das externe Volume und dann von diesem Volume in das verschlüsselte Zielimage.
Der dfBefehl ordnet die Datenträgernummern etwas zu, das Sie erkennen. Auch wenn Sie von Disk2 auf Disk1 kopieren, gibt es möglicherweise nichts, was Sie tun können, um die Dinge zu beschleunigen.

Antworten (1)

OK - Ihre iostatAusgabe zeigt Ihnen, dass die Disk2-Spindel der begrenzende Faktor ist. Ich würde aufgrund der relativen Untätigkeit der anderen Laufwerke vermuten, dass Sie von und zu Bildern kopieren, die auf Disk2 gespeichert sind. In diesem Fall sucht der Kopf hin und her und hin und her, anstatt den Laufwerkspuffer mit vielen Daten zu füllen.

Typische Festplatten können aufgrund physikalischer Einschränkungen der Kopfbewegung zusammen mit Drehzahlbeschränkungen nicht mehr als mehrere hundert IO pro Sekunde ausführen (es geht einige Zeit verloren, wenn darauf gewartet wird, dass sich das Laufwerk dreht, sodass der Bereich, in dem geschrieben wird, unter dem Schreibkopf liegt. ).

Sie könnten versuchen, sicherzustellen, dass die geschriebenen Daten auf eine andere physische Festplatte als die gelesen werden, und eine erhebliche Geschwindigkeitssteigerung feststellen.

Es kann schneller sein, zuerst das Disk-Image auf eines Ihrer anderen drei Laufwerke zu kopieren, die Kopie durchzuführen und dann das Quell-Image aus dem "temporären" Speicherort zu löschen.