Probleme nach dem Versuch, ein Git Repo für verbesserte Leistung neu zu packen

8

Vor einiger Zeit habe ich eine Frage gestellt, in der ich um Feedback zu einem Plan bat, ein Repo zu reparieren, das wegen vieler großer, binärer Dateien langsam war. Diese Frage (nicht unbedingt ein Muss): Repariere ein Git Repo, das wegen großer Binärdateien verlangsamt wird

Ich folgte meinem Plan und erlebte unerwartete Nebenerscheinungen.

Ein frischer Klon unseres Repos hat ursprünglich 2-3 Stunden gedauert. Es wurde herausgefunden, dass der Server mit dem Swapping begonnen hat, und nachdem git config pack.windowMemory 100m & amp; & amp; git config pack.packSizeLimit 200m , die Klonzeit sank auf ~ 15 Minuten.

Ich dachte, ich würde immer noch den Rest meines Plans machen, also deaktivierte ich Delta-Komprimierung für die Binär-Typen, die wir haben, und lief git repack -a -d -F auf dem Repo.

Danach dauert ein frischer Klon des Repo ~ 20 Minuten, also wurde es tatsächlich schlimmer. Aber das eigentliche Problem ist, dass jedes Mal, wenn jemand, der die Repos bereits geklont hat, Commits zu pushen, "Automatisches Packen des Repositorys für optimale Leistung" erhalten wird.

Irgendwelche Ideen, was schief gelaufen sein könnte und wie es behoben werden kann?

    
anr78 13.11.2012, 19:33
quelle

2 Antworten

4

Wahrscheinlich ist die Größe Ihres Repos und Ihr niedriger Wert für pack.packSizeLimit bewirkt, dass die Anzahl der Pakete immer über gc.autopacklimit liegt. Also erhöhen Sie einen von ihnen, um sicherzustellen, dass der GC nicht jedes Commit ausführt.

Ich bin mir nicht sicher, auf welche Weise packSizeLimit das Gedächtnis beeinflussen würde, aber ich glaube nicht, dass es einen signifikanten Effekt hätte. Bitte korrigieren Sie mich, wenn Ihre Experimente etwas anderes zeigen. Die Parameter, die sich direkt auf die Speichernutzung auswirken, sind pack.windowMemory und pack.deltaCacheSize .

    
clacke 10.11.2013, 19:20
quelle
0

Was wird umgepackt? Der lokale Klon, die Fernbedienung? Denken Sie daran, dass lokal und remote getrennt sind , bedeutet das wahrscheinlich, dass Sie entpackte Sachen bekommen, die dann lokal gepackt werden ... müssen die Kofiguration der Fernbedienung lokal replizieren (und es erneut versuchen, ich könnte komplett aus sein Basis).

    
vonbrand 16.03.2013 16:06
quelle

Tags und Links