Meine Firma führt seit einigen Monaten einen Test mit Atlassian Crucible durch. Für Repositorys, in denen es ordnungsgemäß funktioniert, haben Benutzer sehr positive Rückmeldungen zum Tool gegeben. Das Problem, das ich habe, ist, dass wir mehrere verschiedene Projekte haben, jedes mit einem eigenen Repository, und einige dieser Repositorys sind sehr groß. Insbesondere ein Repository hat eine große Anzahl von Zweigen und wahrscheinlich rund 9.000 Dateien pro Zweig. Das Durchsuchen dieses Repositorys in Crucible ist äußerst langsam.
Crucible läuft auf einer CentOS-VM. Die VM verfügt über 4 GB RAM, und ich habe das Maximum von Crucible auf 3 GB festgelegt, wovon derzeit 2 GB verwendet werden. Ich habe dies in einem Support-Ticket bei Atlassian erwähnt, und sie schlugen Folgendes vor:
Insbesondere weil Sie ein ziemlich großes SVN-Repository haben, werden Sie wahrscheinlich feststellen, dass Fisheye eine große Indexdatei auf der Festplatte erstellt. Um die Leistung zu verbessern, können Sie Folgendes ausprobieren:
- Erhöhen des verfügbaren Speichers für Fisheye.
- Migration zu einer externen Datenbank .
- Ausschließen von Dateien und Verzeichnissen aus Ihrem Index, die nicht benötigt werden .
Ich habe all diese Dinge bis zu einem gewissen Grad ausprobiert, aber bisher hat keiner sehr geholfen. Ich habe Crucible ursprünglich auf einer Windows-Box mit 2 GB RAM unter Verwendung der integrierten HSQL-Datenbank ausgeführt. Die Umstellung auf MySQL unter CentOS führte bei einigen Repositorys zu einer Leistungssteigerung und machte Crucible viel stabiler, schien jedoch bei unserem größten Repository nicht viel zu helfen. Es gibt nur so viele Dateien / Zweige, die ich von der Indizierung ausschließen kann, während die Nützlichkeit des Tools erhalten bleibt.
Hat jemand Tipps, wie Sie Crucible in großen Repositories beschleunigen können, ohne in wahnsinnig leistungsfähige Hardware zu investieren?
Vielen Dank!
Edit: Um zu klären, da ich es nicht ausdrücklich oben erwähnt, ich bin mit FishEye.
Edit 2: Seit ich dies ursprünglich gepostet habe, hat sich die Leistung mit neuen Crucible-Versionen etwas verbessert, aber es ist immer noch keineswegs großartig. Es scheint, dass dieses Problem viele Benutzer betrifft , darunter einige mit weitaus leistungsfähigerer Hardware als wir. Daher glaube ich nicht, dass es sich um ein Hardwareproblem handelt, sondern um ein Problem mit der inhärenten Ineffizienz von Crucible. Atlassian ist sich des Problems bewusst und wird in zukünftigen Versionen weitere Leistungsverbesserungen vornehmen. Hoffentlich lösen diese Änderungen unsere Probleme.
Edit 3: Ich hatte vergessen, wie lange es her ist, dass ich diese Frage gestellt habe. In meiner vorherigen Bearbeitung habe ich versäumt zu erwähnen, dass sich auch unsere Hardwaresituation geändert hat, seit sie ursprünglich gestellt wurde. Wir führen Crucible jetzt auf einem dedizierten physischen Server aus und verwenden weiterhin CentOS. Die Hardware ist immer noch bescheiden (4 GB RAM, Quad-Core-CPU und zwei 500-GB-Festplatten in RAID 1 mit externer Sicherung), aber wir haben eine leichte Leistungssteigerung festgestellt, als wir uns von der VM entfernt haben.