5 Stimmen

CVS Leistung

Ich habe riesige Projekte in einem CVS-Repository und suche nach Möglichkeiten, um die Leistung zu verbessern. Würde eine CVS-Komprimierung helfen? Und was ist mit Verschlüsselung, beeinträchtigt sie die Geschwindigkeit?

Danke!

9voto

Ray Hayes Punkte 14625

CVS wird im Laufe der Zeit durch wiederholte Nutzung langsamer werden.

  • Wenn Sie das gesamte Projekt auschecken, muss der Server jedes Verzeichnis erstellen (auch wenn Sie es inzwischen entfernt haben - das Bereinigen von Verzeichnissen nach dem Checkout verbirgt dies vor Ihnen).
  • Beim Check-out werden alle Dateien geöffnet und überprüft, was sehr langsam sein kann, wenn Sie Hunderte/Tausende von Dateien haben.
  • Die Dinge werden noch schlimmer, wenn Sie nicht versuchen, den HEAD des Stammverzeichnisses zu erhalten, da der Inhalt vor dem Senden an den Client wiederhergestellt werden muss.

Wenn Sie nach all dem die Leistung verbessern möchten, um die Daten zwischen dem Server und dem Client zu verschieben, dann können Sie (je nach Ihrem Dateityp) die Option -z zum Komprimieren verwenden. Ich finde -z6 am besten, aber je nach Art Ihrer Dateien möchten Sie mehr/weniger komprimieren.

-z GZIPLEVEL

Legt den Komprimierungsgrad für die Kommunikation mit dem Server fest. Das Argument GZIPLEVEL muss eine Zahl von 1 bis 9 sein. Stufe 1 ist minimale Kompression (sehr schnell, komprimiert aber nicht viel); Stufe 9 ist die höchste Kompression (verbraucht viel CPU-Zeit, aber quetscht die Daten zusammen). Stufe 9 ist nur auf sehr langsamen Netzwerkverbindungen sinnvoll. Die meisten Menschen finden Stufen zwischen 3 und 5 am vorteilhaftesten.

Ein Leerzeichen zwischen -z und seinem Argument ist optional.

3voto

Nate Punkte 29413

Leistungsprobleme sind in der Regel IO-bezogen. (Es sei denn, Sie sehen, dass Ihre CPU bei 100% ankommt). Ich würde empfehlen, zu versuchen, das Repository auf einem schnelleren Laufwerk-Array (RAID 10 und/oder Laufwerke mit höherer Umdrehungsgeschwindigkeit) zu platzieren, um zu sehen, ob das Ihre Leistung verbessert. Wenn Sie auf das Repository über das Internet zugreifen, handelt es sich wahrscheinlich um ein Bandbreitenproblem, obwohl je nach Datenmenge, auch eine einfache DSL-Verbindung damit umgehen sollte.

2voto

Joakim Elofsson Punkte 32858

Cvs selbst kann meines Wissens nach nicht komprimieren, aber wenn ssh für den Transport verwendet wird, kann ssh das (und standardmäßig denke ich auch). Das wird helfen, wenn die Verbindung langsam ist. Bearbeiten: Tatsächlich hat cvs die Optionen -z (genauso wie ssh die Option -C hat)

Verschlüsselung ist nicht etwas, das man verwendet, um die Leistung zu steigern. Die Verwendung von ssh führt auch zur Verschlüsselung, aber das dient nicht der Leistung, sondern der Sicherheit.

Wo auch immer sich das Repository befindet, Zugriff auf die Festplatte für das Repository und temporäre Dateien wird die Leistung beeinflussen. Zusammen mit dem Speicher. Beim Auschecken wird cvs erstellen, was an den Client gesendet werden soll (als temporäre Dateien). Dies verursachte viel Festplattenzugriff und in einigen Fällen Speichernutzung (besonders wenn es sich um große Binärdateien handelt).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X