"Starting Over"... what would you do?

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
kyle
Posts: 4
Joined: Mon Dec 10, 2007 9:29 am

"Starting Over"... what would you do?

Post by kyle » Fri May 02, 2008 12:34 pm

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.
Last edited by kyle on Fri May 02, 2008 2:04 pm, edited 1 time in total.

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Fri May 02, 2008 1:31 pm

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.
Subscribe to the Fortress/Vault blog

kyle
Posts: 4
Joined: Mon Dec 10, 2007 9:29 am

Post by kyle » Fri May 02, 2008 2:04 pm

Thank you for the reply.

Well... I'll certainly give that a try. I'm surprised that this idea didn't come up during my discussions with SourceGear's support, though. Any idea why it wasn't suggested?

Post Reply