Hello, folks...
I've inherited the admin job for our Vault server (version 3.5.3) Our build process creates a branch on every build. Over the course of years, this has led to many branches. In a previous discussion with SourceGear, they suggested we go to a Label-based scheme... and we're debating that.
However, in the mean time, our performance due to the enormous bloat in this database is horrible. So bad, in fact, that we are completely willing to simple start fresh all over again.
(Backgrounder: it is our understanding from a previous discussion with SourceGear that simply creating a new repository in the same database will not help performance.)
One idea would be to have two Vault servers running... one with the old, bloated database (which, by the way, has one repository... just a gajillion branches in it) and another with a new database that starts with the latest version of our code.
Another idea is to somehow get rid of all of the very old branches that we do not need anymore. I have tried doing an obliterate, but that takes hours for just one branch... and seriously kills performance for everyone else while it's occurring.
We prefer to do the obliterate path, as it will allow us to keep at least some history.
Once we get this mess straightened out, we plan on upgrading to the latest version... but we want to fix this problem first.
Any suggestions on how to go about doing this?
Thank you for your help! It is much appreciated.
"Starting Over"... what would you do?
Moderator: SourceGear
"Starting Over"... what would you do?
Last edited by kyle on Fri May 02, 2008 2:04 pm, edited 1 time in total.
Before you try anything else, I would recommend that you delete (but not obliterate) all of the unnecessary branches. Almost all of the performance benefits happen when the delete is performed. Obliterate almost never makes a performance difference.
More details. Most of Vault's performance problems are related to the "current" size of the tree. By deleting, you are reducing that current size. SQL Server is very good at finding the bits of data that are needed, even in databases where there's lots of rows that are not in the "current" Vault tree.
Short answer, before starting over, delete lots of branches. Things should improve for you almost immediately. If you need the branches again, you can always undelete them.
More details. Most of Vault's performance problems are related to the "current" size of the tree. By deleting, you are reducing that current size. SQL Server is very good at finding the bits of data that are needed, even in databases where there's lots of rows that are not in the "current" Vault tree.
Short answer, before starting over, delete lots of branches. Things should improve for you almost immediately. If you need the branches again, you can always undelete them.
Subscribe to the Fortress/Vault blog