Kann ein SVN Checkout Multi-Threading sein?

8

Ich habe ein Repo mit 30k + kleinen Dateien, und ich kann nur via https:// über das Internet auf den Server zugreifen. Checkout sind sehr, sehr langsam. In der Größenordnung von Stunden. Internetverbindungsgeschwindigkeit ist ~ 20Mbs und lokale Maschine ist 3Ghz multi-core & amp; 10k RPM HD.

( svn:// Protokoll ist leider keine Option.)

Also meine Frage:

Kann svn eine parallele Multi-Threading-Prüfung einer Arbeitskopie durchführen?

Sieht so aus, als würde der svn checkout Datei für Datei in einer sequentiellen Reihenfolge gehen. Es gibt eine winzige Verzögerung zwischen jeder Datei und ich nehme an, das ist die http-Anfrage / Antwort und möglicherweise die Verzögerungen meines lokalen Dateisystems. (Vielleicht auch eine kleine Server-Dateisystem-Latenz?)

Danke

    
nonot1 11.11.2010, 22:52
quelle

5 Antworten

9

Ich kenne keinen Befehl, aber Sie könnten ein kleines Python-Skript (oder das Werkzeug Ihrer Wahl) schreiben, um zu helfen. "svn list" gibt Ihnen den Namen jedes Unterverzeichnisses. Sie können dann jedes Unterverzeichnis im Hintergrund überprüfen, so dass sie parallel passieren. Je nachdem, in welcher Verzeichnisstruktur Sie sich befinden und wo sich alle winzigen Dateien befinden, müssen Sie dies möglicherweise auf der 2. / 3. / beliebigen Ebene tun.

Ich gehe davon aus, dass Sie keine 30K-Dateien im selben Verzeichnis haben.

    
Jeanne Boyarsky 11.11.2010, 22:58
quelle
2

Sie können GNU Parallel für parallele Svn-Checkouts verwenden. Beispiel -

%Vor%

Dies startet parallele Svn Checkouts unter 'bar' Verzeichnis.

    
KarthikRajagopal 27.01.2014 19:51
quelle
0

Obwohl ich mir keinen Grund vorstellen kann, warum SVN nicht mehr als eine Datei gleichzeitig auschecken konnte, kenne ich keinen SVN-Client, der das tut.

    
Gregor Brandt 11.11.2010 22:56
quelle
0

Könnten spärliche Checkouts (neuere SVN-Versionen, & gt; = 1.6 oder so!) leistungsmäßig helfen?

%Vor%

Auch ist es vielleicht nützlich, Server und / oder Client mit SSDs zu liefern, um rund um schlechtes Betriebssystem oder SVN-Server / Client-Implementierung Leistung im Fall von Multi-Lookup von vielen kleinen Dateien zu arbeiten (wegen Zeitlatenz gründlich zu suchen dominierende Dateisystemoperationen im Falle kleiner Dateien - das Suchen ist bei SSDs viel weniger problematisch.

Und vielleicht ist es wert Cache-Hotness aller Dateien auf dem Server im Voraus sicherzustellen, Dinge von Check-out, durch ein Skript zu schreiben über die gesamte Repository-Struktur auf dem Server zu analysieren.

    
JoeRandomUser 14.03.2012 10:03
quelle
-1

Würde es nicht viel von der Ping-Zeit für den Server abhängen?

Wenn der Ping lang ist, können Sie möglicherweise nichts dagegen tun.

Es besteht auch die Möglichkeit, dass der Router, der die Firewall behandelt, zurückfällt und so etwas wie eine statusbehaftete Paketprüfung verwendet, dh jedes Paket betrachtet. Der Router kann geändert werden, um Sachen vom scan packet scan zu lassen.

    
Tom Andersen 30.11.2010 01:54
quelle

Tags und Links