Vault performance with VS 2008
Moderator: SourceGear
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
Vault performance with VS 2008
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
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
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
Re: Vault performance with VS 2008
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.
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.
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
SourceGear
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
Details from ScottGu here:
http://weblogs.asp.net/scottgu/archive/ ... lable.aspx
Download here:
https://connect.microsoft.com/VisualStu ... adID=10826
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
The file are on my local machine.ian_sg wrote:Are the files in the web site project on the local machine, or remote?
No problem. I just sent you a diagnostic log file in e-mail.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.
Thanks,
David
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
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.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
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
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).
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
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.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).
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.
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
SourceGear
-
- Posts: 7
- Joined: Mon Mar 24, 2008 2:06 pm
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.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 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!
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.
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
SourceGear
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
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