Vault performance with VS 2008

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

Moderator: SourceGear

Post Reply
david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Vault performance with VS 2008

Post by david.mchonechase » Mon Mar 24, 2008 2:19 pm

We have a fairly large solution that we migrated from Visual Studio 2003 to 2008. We also upgraded from Vault 3.5 to 4.1 at the same time. The migration went fine, and everything appeared to be running ok. All the projects compile, and the integration with Vault is working perfectly.

However, I’ve been having lots and lots of performance problems, and it's getting to the point when the IDE is borderline unusable. The strangest issue I've found is right-clicking on the Web project. Occasionally it will take 30-45 seconds, but usually the IDE will freeze up for a couple minutes. It will go back to normal but never show the project context menu.

I tried various tests on the right-click issue, but I found that unbinding the solution from Vault eliminates the problem. So, I would guess this is an issue with the Vault client. (We are using the enhanced client for VS 2008.)

Here's a rundown of the solution in question:

17 projects - 7 command prompt projects, 4 class library projects, 1 web project, 1 web service project, 1 windows service, and 3 windows applications.
The main web project has 218 web forms.
The main class library project (used by most of the other projects) has 644 class files.

Any idea why the performance is so bad?

Thanks,
David

david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Re: Vault performance with VS 2008

Post by david.mchonechase » Mon Mar 24, 2008 2:52 pm

I found out a little more information. The same freeze occurs when I highlight the Web project and click on File in the main menu, which is the menu that contains the Vault Source Control sub-menu.

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Mon Mar 24, 2008 4:10 pm

Hi David. Performance on large web site projects has been an ongoing issue. Unfortunately web site projects behave differently than every other Visual Studio project type in many circumstances. Nonetheless, we made some strides in this area for the 4.1 release and I'm a little surprised to hear that you're seeing delays this bad with just a few hundred files.

Are the files in the web site project on the local machine, or remote?

Would you be willing to turn on the diagnostic logging and send me a log that includes the delay you describe? You can email it to ian at sourcegear dot com.

Thanks.
Ian Olsen
SourceGear

nemoby
Posts: 56
Joined: Mon Jan 10, 2005 4:34 pm
Location: Bellingham WA

Post by nemoby » Mon Mar 24, 2008 4:38 pm

Possibly not related to Vault. Have you installed the Hot Fix for VS2008? Things were pretty horrific for us until we did.

Details from ScottGu here:
http://weblogs.asp.net/scottgu/archive/ ... lable.aspx

Download here:
https://connect.microsoft.com/VisualStu ... adID=10826

david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Post by david.mchonechase » Tue Mar 25, 2008 6:54 am

ian_sg wrote:Are the files in the web site project on the local machine, or remote?
The file are on my local machine.
ian_sg wrote:Would you be willing to turn on the diagnostic logging and send me a log that includes the delay you describe? You can email it to ian at sourcegear dot com.
No problem. I just sent you a diagnostic log file in e-mail.

Thanks,
David

david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Post by david.mchonechase » Tue Mar 25, 2008 6:59 am

nemoby wrote:Possibly not related to Vault. Have you installed the Hot Fix for VS2008? Things were pretty horrific for us until we did.

Details from ScottGu here:
http://weblogs.asp.net/scottgu/archive/ ... lable.aspx

Download here:
https://connect.microsoft.com/VisualStu ... adID=10826
I have the HotFix installed. From Scott's post, the HotFix addresses editing and viewing files as well as building the solution. My problem occurs when no files are open to edit or view, and I'm not building anything.

To test again, I opened up the solution with no files open and tried right clicking on the Web project, and it still had the problem. I also originally thought it was a Visual Studio problem, but the problem stopped immediately after unbinding the solution to Vault. I tried this twice with the same result. I also created a new solution and included only the Web project (still bound to Vault), and the problem persisted.

Thanks,
David

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

Post by jeremy_sg » Tue Mar 25, 2008 7:42 am

One solution to the problem of Web Site projects is to convert them to Web Application Projects (which do not have the slowdown issues). Since you upgraded from 2003, the difference is that Web Site projects do not have a project file, and that Web App Projects have a project file (like they did in 2003).

david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Post by david.mchonechase » Tue Mar 25, 2008 11:47 am

jeremy_sg wrote:One solution to the problem of Web Site projects is to convert them to Web Application Projects (which do not have the slowdown issues). Since you upgraded from 2003, the difference is that Web Site projects do not have a project file, and that Web App Projects have a project file (like they did in 2003).
We will keep that in mind as an option, but we prefer the deployment, build, and overall project structure of Web Site projects over the Web Application alternative. It also seems a little unnecessary (for want of a better word) to have to convert a project like that because the source control system can't perform well.

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Tue Mar 25, 2008 12:39 pm

David,

Thanks for the logs and the thorough explanation of how you generated them. Here's some background on my analysis:

I loaded up a solution that includes about 20 class library projects and a web site project with around 1800 files in it, and added it to Vault. Right-clicking on the web site project is nearly instant, and my log file shows what I'd expect: a handful of calls into our "Is this command available?" function.

In your log, I see those same calls, but I also see 125 calls into QueryEdit for one particular file. Basically, 125 times, Visual Studio is asking, "if I wanted to, could I edit CLI.WebGrader.ClassLibrary.csproj?" And each time, we go look at the file, determine that it's not checked out, and answer: "Only if you check it out first." This is causing the delay.

I'm not sure why it's doing this for you, and not me. I want you to try something: manually check that file out (CLI.WebGrader.ClassLibrary.csproj) and do the right-click again on the web site project. Is it still slow? Do a save all, then show differences on that file. Did Visual Studio make any changes? Are they basically meaningless? If you check it back in, and do the right-click again, does the delay go away?

EDIT: And in case this wasn't clear, I do believe Vault is doing something wrong here, and this isn't your "fault" in any way. We'll investigate along those lines. I'm suggesting these steps primarily to see if we can fix your immediate problem. :)
Ian Olsen
SourceGear

david.mchonechase
Posts: 7
Joined: Mon Mar 24, 2008 2:06 pm

Post by david.mchonechase » Tue Mar 25, 2008 1:51 pm

ian_sg wrote:David,

Thanks for the logs and the thorough explanation of how you generated them. Here's some background on my analysis:

I loaded up a solution that includes about 20 class library projects and a web site project with around 1800 files in it, and added it to Vault. Right-clicking on the web site project is nearly instant, and my log file shows what I'd expect: a handful of calls into our "Is this command available?" function.

In your log, I see those same calls, but I also see 125 calls into QueryEdit for one particular file. Basically, 125 times, Visual Studio is asking, "if I wanted to, could I edit CLI.WebGrader.ClassLibrary.csproj?" And each time, we go look at the file, determine that it's not checked out, and answer: "Only if you check it out first." This is causing the delay.

I'm not sure why it's doing this for you, and not me. I want you to try something: manually check that file out (CLI.WebGrader.ClassLibrary.csproj) and do the right-click again on the web site project. Is it still slow? Do a save all, then show differences on that file. Did Visual Studio make any changes? Are they basically meaningless? If you check it back in, and do the right-click again, does the delay go away?

EDIT: And in case this wasn't clear, I do believe Vault is doing something wrong here, and this isn't your "fault" in any way. We'll investigate along those lines. I'm suggesting these steps primarily to see if we can fix your immediate problem. :)
I think that solves it. I checked out the ClassLibrary project, and right clicking on the Web project took 8-10 seconds instead of the 35-40 seconds it had been.

I then removed the reference to the ClassLibrary project from the Web project and then re-added it. On further inspection, I found that the class library's DLL and PDB files are included into the project's bin file. (I checked and confirmed this was not the case for the 2003 project, so I suspect this changed happened during or shortly after the 2008 conversion.) I removed the DLL and PDB files from the project, and the checked everything back in.

After check in, right clicking on the Web project took the much improved 8-10 second timeframe. So, as of right now, it looks like everything is back to normal.

Thanks for your help!

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Mon Mar 31, 2008 9:48 am

Let us know if you need help in the future.
Linda Bauer
SourceGear
Technical Support Manager

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Wed May 07, 2008 9:04 am

For other users having this problem who find this thread:

David's problem wasn't thoroughly addressed by the steps we took here. Vault 4.1.2 (or Fortress 1.1.2) fixes the root of the problem. If you're reading this before 4.1.2/1.1.2 ships and you'd like to try a pre-release build, you can email ian at sourcegear dot com.
Ian Olsen
SourceGear

neal007
Posts: 225
Joined: Tue Feb 17, 2004 10:13 am

Post by neal007 » Fri May 23, 2008 1:27 pm

We're having this problem. Are we close for 4.1.2 perculating out of the genie bottle yet?
Neal Culiner
NC Software, Inc.
http://www.nc-software.com

Vault 5.1.2
VS 2010/C#
Windows 7 Ultimate x64

VB.NET Forums: http://www.vbdotnetforums.com

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri May 23, 2008 3:19 pm

We're close. It should be available in a few weeks.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply