Übermäßige Löschzeiten auf SSD

322
Toby Wilson

Ich habe ein professionelles Argument für ein Upgrade der Festplatte des Build-Servers (Win7) meines Software-Entwicklungsteams mit einer SSD vorgebracht, mit der Begründung, dass dies aufgrund der großen Anzahl von Dateien, die durch unseren nächtlichen Build-Prozess erstellt werden, den Prozess beschleunigen würde. Ich bin zuversichtlich, dass wir keine Probleme mit Flash Wear haben werden, da wir die Unternehmensrichtlinie haben, dass alle Maschinen einmal im Alter von 24 Monaten komplett ausgetauscht werden.

Das Ergebnis war eine 480 GB Kingston V300, die im Server installiert wurde.

Natürlich ist der Build jetzt wie erwartet deutlich schneller. Das "saubere" Verfahren, das zu Beginn des Prozesses stattfindet, dh das Löschen von etwa 2 GB an Dateien (~ 80.000 Dateien und 2.000 Ordner), dauert nun erheblich länger. Es dauerte ca. 15-20 Minuten anstelle der ~ 3 Minuten für die herkömmliche Festplatte, und der Vorteil der schnelleren Bauzeiten wurde beeinträchtigt.

Ich habe alle erdenklichen Mittel des "Löschens" innerhalb und außerhalb des Build-Systems "clean" ausprobiert, einschließlich rmdir / s / q auf dem ganzen Posten. und das Ergebnis ist das gleiche.

Jetzt werden die Dinge interessant. In meinen vielen verzweifelten Experimenten habe ich festgestellt, dass das Kopieren des gesamten Verzeichnisses, das gelöscht werden soll, an einen anderen Speicherort und anschließend gelöscht wird, extrem schnell. etwa 45 Sekunden. Selbst das Kopieren an Ort und Stelle ("Kopie von (1)" usw.) und das Löschen der binären identischen Kopie dauert sehr kurze Zeit. aber das original dauert immer noch 15-20 min, egal was ich damit mache.

Es scheint also, dass aus irgendeinem Grund "ein Haufen Zeug" auf der Festplatte immens länger dauert, wenn "ein anderes Bündel Zeug" auf der Festplatte erstellt wurde; ist aber sonst sehr schnell zu löschen.

Kann jemand erklären, was los ist und möglicherweise, wie ich das abschwächen könnte?

0

1 Antwort auf die Frage

1
Eugen Rieck

Zuallererst: Überdenken Sie Ihren Workflow. Warum benennen Sie das Verzeichnis nicht einfach um, um es aus dem Weg zu räumen, führen Sie den Build mit einem neuen Verzeichnis aus und löschen Sie das alte Verzeichnis in wenigen Stunden. Selbst 3 Minuten scheinen ziemlich lang zu sein, wenn Sie mit 0,1s gehen können.

Nun zu den Löschzeiten: Ich vermute, dass aus irgendeinem Grund noch etwas in diesem Verzeichnis vom Betriebssystem verwendet wird - vielleicht der Klassiker (Suchindex)? Dies könnte leicht dadurch maskiert werden, dass die Erstellungszeiten auf der rotierenden Platte viel länger waren. Sie können dies überprüfen, indem Sie versuchen, das Material nach einigen Stunden zu löschen und erst dann zu prüfen, wie lange es dauert.

BEARBEITEN

Wenn das Zeug nur 2 GB groß ist, wäre eine RAM-Disk die naheliegende Wahl.