Der schnellste Weg zum erneuten Verknüpfen eines Verzeichnisses

Der schnellste Weg zum erneuten Verknüpfen eines Verzeichnisses

Ich verwende Gentoo Linux und verschiebe derzeit meine /usr/portage(Portage-Datenbank, die Tausende kleiner Ebuild-Dateien enthält), /var/tmp/portage(Portage-Kompilierungsverzeichnis) und /var/tmp/ccache(Compiler-Cache-Verzeichnis) nach Reiserfs. Diese Verzeichnisse sind leistungsempfindlich und Tausende kleiner Dateien werden aufgerufen und geschrieben, wenn Portage Paketabhängigkeiten berechnet und Pakete kompiliert.

Was ist der schnellste Weg, die Verzeichnisse in das neue Dateisystem umzuleiten? Führt die Verwendung eines symbolischen Links zu einem enormen Leistungsverlust, da das System einen symbolischen Link als Text analysiert? Wäre „Mount Bind“ besser?

Antwort1

Mount --bindsollte schneller sein als ein symbolischer Link.

Wenn Sie mount -B /mnt/portage /usr/portagelesen, /usr/portageerhalten Sie den i-Node /mnt/portageund er sollte genauso schnell funktionieren wie ein normales Verzeichnis.

Die Geschwindigkeit beim Auflösen symbolischer Links hängt von der Anzahl der Komponenten im verknüpften Pfad ab. Für /usr/portagedie Verknüpfung /mnt/portagesind daher drei zusätzliche I-Node-Lesevorgänge und zwei Verzeichnissuchvorgänge erforderlich.

Ich bezweifle, dass Sie einen Unterschied zwischen diesen Methoden bemerken werden, es sei denn, Sie verwenden diese Dateisysteme wirklich häufig.

verwandte Informationen