Vault 3.5.2 GUI client incredibly slow

This forum is now locked, since Gold Support is no longer offered.

Moderator: SourceGear

ancap
Posts: 21
Joined: Fri Feb 20, 2004 12:36 pm

Vault 3.5.2 GUI client incredibly slow

Post by ancap » Mon Sep 17, 2007 4:15 pm

We are using:

Server:
Windows 2003
2GB RAM
Vault 3.5.2
SQL 2005
~1GB repository
folder security is not enabled

Clients:
slightly different HW configurations though test case for logs 3.2Ghz Pentium 4 with 2GB RAM
XP Pro
Vault 3.5.2 client
'automatically refresh every x minutes' option is disabled
search tab set to 'don't search'

server and test client hard drives have been defragmented

The issue is with the Vault GUI client responsiveness in essentially any operation.
Expanding a tree or clicking on a new tree in the repository usually takes 15-60 seconds to refresh, even on a nearly empty leaf.
Right clicking anywhere typically takes 10-20 seconds to even bring up the right click context menu.
Get latest, checkin, checkout operations take about 10-20 seconds to start, then rapidly log information saying the operation completed (regardless whether 1 file is involved or a few dozen), then takes 15-60 seconds of 'working' to refresh the display.

This appears to definitely be a client issue. During all of these operations, the client CPU is at 100% (or 50% on dual core or hyperthreaded CPU), the client hard drive is active but not thrashing, and the SQL server CPU and hard drive are nearly idle. This slowness has been observed on four different client machines, though most timings and logging have been done from one specific one. I've searched the Sourcegear support already for other information on slowness, performance optimization, etc. and have followed what guidelines I've seen. We've followed Vault from version 2.x up to now hoping for performance improvement with each upgrade and being disappointed.

The last bit of information and the only other clue I've seen is from enabling client side logging on all classes. When I do this during any of the 100% CPU times, the log quickly consists of thousands of lines along the lines of:

Code: Select all

9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 824
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0413 mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0413 created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1656 (Vault_WF_-1342397900)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1656
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0416 mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1656
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0416 mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0416 created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2728 (Vault_WF_-1342397850)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2728
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\041D mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2728
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\041D mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\FILES\INTLTRNS\041D created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2436 (Vault_WF_-1342384869)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2436
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0804 mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2436
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0804 mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\FILES\INTLTRNS\0804 created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2044 (Vault_WF_1547217576)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2044
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\mips mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2044
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\FILES\mips mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\FILES\mips created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2428 (Vault_WF_407844287)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2428
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2428
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\lost+found created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2284 (Vault_WF_1824897867)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2284
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found\files.cf396fa527fa41bb8a622be33cc44948\arm mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2284
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found\files.cf396fa527fa41bb8a622be33cc44948\arm mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\lost+found\files.cf396fa527fa41bb8a622be33cc44948\arm created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1732 (Vault_WF_439412539)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1732
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found\HW.6c969bf21099448a9f7278dc717b7424 mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1732
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\lost+found\HW.6c969bf21099448a9f7278dc717b7424 mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\lost+found\HW.6c969bf21099448a9f7278dc717b7424 created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2060 (Vault_WF_1292376123)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2060
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2060
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2512 (Vault_WF_-2022335148)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2512
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\ChmiGdiTest mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2512
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\ChmiGdiTest mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\ChmiGdiTest created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1340 (Vault_WF_-472128882)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1340
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FileSysTest mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1340
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FileSysTest mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FileSysTest created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2328 (Vault_WF_174905712)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2328
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FSbench mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2328
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FSbench mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\FSbench created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2344 (Vault_WF_185537609)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2344
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\fSelect mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2344
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\fSelect mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\fSelect created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1396 (Vault_WF_-1660654269)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1396
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Alarm mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1396
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Alarm mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Alarm created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2300 (Vault_WF_976176518)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2300
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Button mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2300
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Button mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Button created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1736 (Vault_WF_-899032404)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1736
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1736
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2000 (Vault_WF_-1658555391)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2000
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Gauge mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2000
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Gauge mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Gauge created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1556 (Vault_WF_-1659080612)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1556
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Graph mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1556
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Graph mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\Graph created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 2396 (Vault_WF_-349379659)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 2396
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\ImageList mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 2396
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\ImageList mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\ImageList created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1548 (Vault_WF_-1634904052)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1548
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\MultiStateList mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1548
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\MultiStateList mutex released
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf for C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\MultiStateList created
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Created mutex 1944 (Vault_WF_-2091796676)
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Took mutex 1944
9/17/2007 6:10:59 PM <wf>: [GUIClientWorkerThread:4676] wf C:\WINCE500\platform\RABASE\PROJECTS\CHMI_Dev\Predator\Components\MultiStatePB mutex locked
9/17/2007 6:10:59 PM <mutex>: [GUIClientWorkerThread:4676] Released mutex 1944
This is only a tiny subset; the specific files the client seems so intent on getting and releasing mutexes for can be distributed all throughout the repository, and do not appear to be only ones checked out to me or other specific criteria.

Please let me know any insight and suggestions on these slow Vault client issues and suggestions for fixing them. Thanks.

Aaron

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

Post by lbauer » Tue Sep 18, 2007 9:00 am

This could be an issue with the number of working folders. The client scans all of these.

Are you using CRC's to determine the status of local files?

Also, try this test:

First use the commandline client to create a list of your working folders for future reference.
http://download.sourcegear.com/misc/vau ... INGFOLDERS
Save that information.

Next, and unset working folders recursively. Then set working folders for a few selected repository folders.

Do you get the same performance results when trying to access those repository folders?
Linda Bauer
SourceGear
Technical Support Manager

ancap
Posts: 21
Joined: Fri Feb 20, 2004 12:36 pm

Post by ancap » Tue Sep 18, 2007 10:00 am

We are using simple date/time, not CRC checking for changes.

I removed all working folders and indeed navigating anywhere in the tree and right click context menu were almost instantaneous everywhere. All files showed up as 'missing' of course.

I then added a single small subproject with 8 folders and 40 files underneath it as my only working folder. Navigating or right clicking it was still quick. Executing a recursive get, checkin or checkout on this subproject would log its list of files operated on and say complete within 1-2 seconds, then take 8-10 seconds afterwards of 'working'. Not a speed demon, but definitely much faster than with real working folders set.

This is an interesting and encouraging find, though it doesn't seem directly usable as a solution to the slowness. Our repository hierarchy and directory hierarchy cleanly parallel each other, so only a few working folders need set but encompass almost all files - e.g. $/Software corresponds to c:\software, and tens of thousands of files reside under this subproject. Removing this and setting individual sets of subprojects under $/Software would defeat an advantage of cleanly laying out the hierarchy, and would still require about 1/2 of these set for myself and another developer (still having thousands of files in working folders). Indeed, testing I just did with setting many of these I use as working folders started showing serious degradation in performance of navigation, clicking and source control operations as Vault scans working folders unrelated to my current operation.

Is there a way to simply prevent Vault client from scanning working folders irrelevant to the current operation? I would have thought the option to prevent periodic scan would do this, but logging still seems to indicate this is not the case and that any and all working folders set are likely to get scanned when I'm doing a right click, get, or other operation on a specific subproject. Please let me know if there's a way to address this.

Thanks-

Aaron

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

Post by lbauer » Tue Sep 18, 2007 3:46 pm

If you have thousands of files in the working folders, then Vault scans every one to determine file status, etc.

There's no workaround for this right now, except to set fewer working folders.

I'll log a bug to investigate how to improve this behavior and hopefully we can get it fixed in a future release.
Linda Bauer
SourceGear
Technical Support Manager

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Sep 19, 2007 8:27 am

ancap:

Trying to find an optimization for this will take some time, so I'm hopeful we can find a viable work-arounds until we can determine the exact problem.

Are you working in Lock - Edit - Commit or Edit - Merge - Commit mode? If you try the Lock - Edit - Commit development node, and set your working folders back to the original hierarchy, does that improve your performance?

Do you have a virus checker running on the client machine? If you temporarily disable this and reset the working folders, does that improve your performance?
Jeff Clausius
SourceGear

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Sep 19, 2007 11:57 am

One other thought... Do you happen to have the Status Search tab on the client set to "Don't Search"? It's possible if you are actively searching while navigating the repository that might explain some of the performance issues.
Jeff Clausius
SourceGear

ancap
Posts: 21
Joined: Fri Feb 20, 2004 12:36 pm

Post by ancap » Thu Sep 20, 2007 1:09 pm

Status search is set to 'don't search'.

I do not have a virus scanner installed on client or server.

Thanks for the idea concerning concurrency settings. I normally use CVS concurrency settings. Changing that to SourceSafe style, require checkout, etc. did have a definite effect. As long as I didn't actually have anything checked out navigation and right click were very fast. The 'working' after checkout checkin or get latest was reduced.

However, if I have a large subproject checked out (I normally wouldn't actually check out hundreds of files in CVS mode since I can just check in edited ones when I change them - but changing to Sourcesafe mode I want to check out entire subprojects I'm working on) then things slow down again. Logging indicates that during navigation change and right click delays, etc. that the client is again scanning unrelated files - but at least the files it scans appear only to be ones that are checked out.

Knowing this I can make the situation less-bad by going to Sourcesafe mode and checking out hundreds of files which will be scanned - instead of having thousands of files in all working folders scanned. It's still pretty sluggish with working folders and checkouts done in a fashion to be usable, and I hope to see a real fix so the client doesn't scan unrelated files when I'm right clicking or performing a source control operation.

Aaron

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Sep 20, 2007 1:55 pm

This is all good info. I'll be logging this info for reference to see what is going on under the covers.

May I ask for a quick clarification? When you say you are expanding a node, and you experience a slow down, are you just clicking the "plus" to the left of the folder or are you double clicking the folder?
Jeff Clausius
SourceGear

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Sep 20, 2007 2:06 pm

One other question, if you please. What is your average file per folder count in this repository? Also are there any large counts here (say 500+ files per folder)?
Jeff Clausius
SourceGear

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Sep 20, 2007 2:15 pm

Also, do you know if the setting for your cache folders is stored on a local or network drive?

Go to the Vault GUI tool's Options -> Local Files -> Cache Location. What is the setting for "Store Client Cache Folder"? You can use the "Open Cache Folder" to view the actual file system location.
Jeff Clausius
SourceGear

ancap
Posts: 21
Joined: Fri Feb 20, 2004 12:36 pm

Post by ancap » Fri Sep 21, 2007 10:10 am

Cache files are stored on a local rather than network drive.

By expanding a node I use the '+' sign, I actually didn't know double-click did that.

Most folders have 5-20 files per, with a few minor outliers. Extremely few have 50 files per and I don't know of any that have >100. The folder structure is heavily nested, broad and deep though.

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Fri Sep 21, 2007 11:58 am

Hmmm... This is not what I was expecting.

However, it is good information to have. I've logged a task to investigate this problem to see if we can recreate this behavior.
Jeff Clausius
SourceGear

Tilman
Posts: 52
Joined: Thu Mar 08, 2007 3:49 am

Post by Tilman » Tue Nov 20, 2007 9:43 am

Hi,

I'm having a similar problem. Only with me, it used to work fine, the problem only appeared yesterday. And there hasn't been any change in the set working folders (and there aren't many). Also, on another machine, on which i have set similar working folders it works fine. I've tried deleting the cache which didn't do anything. I then repaired my vault client installation. That fixed it for a while, but then the problem reappeared. The problem is definitely a client problem. I've made similar observations as ancap, i.e. server is idle, client cpu is working hard, client hard disk is not doing a lot.

Client Information
Vault Client Version: 3.5.2.5087
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft(R) Windows(R) Server 2003, Standard Edition
Service Pack: 2.0
OS Version: 5.2.3790
Total Physical Memory: 3.75 GB
Time Zone: (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London

Server Information
Vault Server Version: 3.5.2.5087
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft(R) Windows(R) Server 2003, Standard Edition
Service Pack: 2.0
OS Version: 5.2.3790
Timezone: (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
SQL Version: Microsoft SQL Server 2005 - 9.00.3054.00 (Intel X86)
Mar 23 2007 16:28:52
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

Have there been any advances on this problem?

Cheers,

Tilman

jclausius
Posts: 3702
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Tue Nov 20, 2007 10:35 am

Tilman:

ancap's problem is not necessarily related to the number of working folders, but to the depth of the working folder down to the leaf nodes.

If you can remove your working folders, does the client's behavior seem to be back to acceptable performance? Or if you switch to "Require Check Out before Check In" within Vault's options, does performance improve?
Jeff Clausius
SourceGear

Tilman
Posts: 52
Joined: Thu Mar 08, 2007 3:49 am

Post by Tilman » Tue Nov 20, 2007 11:22 am

Not really. E.g. when I click OK on the options tab, it takes 45 seconds until the UI responds again. Likewise, when I check in, or close the diff application.

Locked