Frage

Wir haben eine ziemlich große SVN-Repository (50 GB, über 100.000 Versionen). Die Arbeit mit ihr ist ziemlich langsam und meine Vermutung ist, dass der Grund dafür ist die flache Verzeichnisstruktur in db / Drehzahl und db / revprops (Wo jede Revision ist eine Datei).

Wir verwenden das FSFS Format mit SVN 1.5 (auf einem Linux-Server), aber der Repo wurde mit einer älteren SVN-Version erstellt. Nun lese ich, dass SVN 1.5 unterstützt „Sharding“ und ich verstand, dass diese Funktion die Revisionen in mehrere Verzeichnisse verteilt so ein einzelnes Verzeichnis nicht so viele Dateien enthalten. Das klingt ziemlich nützlich, aber leider sieht es aus wie diese Funktion nur mit Repositorys verwendet wird, die frisch erstellt werden, mit SVN 1.5.

Wie kann ich eine große bestehende lineare Repo zu einem sharded Repo-Format konvertieren? Das Handbuch erwähnt der „fsfs-reshard.py“, aber das Skript sagt „Dieses Skript unvollendet ist und nicht bereit, sich auf Live-Daten verwendet werden. Vertrauen Sie uns.“. Also ich möchte auf jeden Fall nicht, dass verwenden. Gibt es eine Alternative?

War es hilfreich?

Lösung

Der beste Weg ist, wie erwähnt dump / Last cylcle. Aber man kann versuchen, die Upgrade .

svnadmin upgrade

Erstellen Sie eine Kopie Ihrer Repo zunächst versuchen, das Upgrade und Test it .... (verpassen Sie nicht ein Backup zu machen).

Andere Tipps

Wird ein svnadmin dump und svnadmin load der Trick? http://subversion.apache.org/faq.html#dumpload

Da Dump / Restore-Prozess viel Speicherplatz und Verarbeitungszeit erfordert, habe ich veröffentlicht (im Jahr 2010) eine verbesserte Version von fsfs-reshard.py die Träger 5 für Subversion 1.6 FSFS Format enthält: https://github.com/ymartin59/svn-fsfs-reshard

Es unterstützt Schalter zwischen linear sharded Layouts, Scherben Auspacken, wenn erforderlich. Dank Scherbe Statistiken Berechnung kann antizipieren Sie Revisions Größen Auswahl geeigneter Scherbe Größe verpackt.

Natürlich muss es sein, mit Vorsicht verwendet

  • Erste Testverfahren auf einer Repository Kopie, wenn möglich
  • Sie fertig, eine Sicherung wiederhergestellt
  • werden
  • Prevent Zugriff auf Repository bei der Verarbeitung
  • Ausführen svnadmin verify bevor setzen sie leben
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top