Re: TortoiseCVS inside SAMBA network share

"Arthur Barrett" <arthur.barrett-qn/[email protected]> Tue, 23 Aug 2011 11:07:37 +1100
Newsgroups gmane.comp.version-control.cvs.tortoisecvs.user
Message-ID <[email protected]>
Hi Marcus,
 
There are a lot of variables that you are not isolating, but you've made
a start.  
 
The windows client performs similarly (if not faster) than the linux
client.  If you've got a problem, you need to perform the analysis to
find it - not blame the tools.
 
1) do not use TortosieCVS for performance testing - it is a GUI, nothing
more, so use the CVSNT command line client
 
2) the latest CVSNT command line client is 2.8.01.4218; the community
clients are no longer available or updated.  We still supply rebuilds of
the community packages to open source projects like TortoiseCVS.  They
should work OK for the very simple cases, but just be aware that if you
find a bug, you are the one who needs to fix it, noone else will.  Full
details here:
http://www.evscm.org//modules/Downloads/
 
3) I've no idea why TortoiseCVS still incldes Plink, it's not been
needed for at least 6 years, and leads to a lot of problems.  I advise
you stop using it immediately.
 
4) test the client only like this (I'm assuming your CVS linux clients
use SSH/EXT protocol since you raised the issue of plink):
 
   cvs -z0 -d :ssh:user@server:/repo checkout module
 
If this works faster - problem solved.  The -z0 turns compression off (I
don't think Samba uses compression).  You can experiment with different
compression levels:
 
   cvs -z9 -d :ssh:user@server:/repo checkout module
 
I also suggest you experiment with using server name, FQDN and IPV4
address to determine if the problem is related to DNS resolution (maybe
your Windows PC is using a different DNS server, or maybe Windows DNS is
just slow).  
 
The CVS server will also try and resolve the IP address of the client to
a FQDN (reverse DNS lookup), so if your linux client PC is listed in DNS
but your windows PC is not, then your linux PC will always be faster. 
 
Different linux systems sshd also handle reverse DNS authentication
differently, eg: the sshd on SuSE linux is notorious for taking forever
to process a 'log in' if the client PC is not registered in DNS or
/etc/hosts to its personal satisfaction.  This is easy to test using
Putty from windows.  If Putty takes forever to do an interactive login
to the server, then the problem is with the client DNS registration and
sshd on the server.
 
5) you can use ssh keys by setting up a putty session and putting the
keys in using the putty agent.  When it's all working via putty, you use
this to connect:
 
   cvs -d :ssh:puttysessionname:/repo checkout module
 
 
6) If you still see a significant performance problems, trace it out.
Don't send these logs to me, or to the mailing list.   You need to read
them, understand them and fix the problem.  Or you can upgrade to the
commercial edition (CVS Suite) and send it to the pre-sales tech support
team (sales-qn/[email protected]).
 
  
   cvs -tttt -d :ssh:user@server:/repo checkout module > c:\trace.txt
2>&1
 
 
7) it sounds like you are using a CVS 1.x server with TortoiseCVS.  Do
you know that CVSNT runs on Linux servers too?  Do you know it has
considerable performance and functional benefits?  TortoiseCVS is
designed to be used with CVSNT client and server - by using a CVS 1.x
server you are missing out on a lot of features (eg: merge tracking,
single merge point merges, failsafe audit, reserved and unreserved
versioning, change sets, atomic commit ids, rename etc etc).
http://march-hare.com/cvsnt/newfeatures/
 
Regards,
 
 
 
Arthur Barrett
 
 
 
 
 

	-----Original Message-----
	From: Marcus Diniz [mailto:[email protected]] 
	Sent: Monday, 22 August 2011 10:13 PM
	To: Arthur Barrett
	Cc: tortoisecvs-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
	Subject: Re: [TortoiseCVS] TortoiseCVS inside SAMBA network
share
	
	
	Arthur, 

	We've got performance issues with the client (since I've tried
using cvs clients inside *nix machines and they're quite fast when doing
checkouts), I think it's the fact of CVSNT using another process in
order to connect, retrieve, and such (that would be plink maybe?).
	In our Windows machines lasts approximately 8 times longer than
a checkout from a linux machine, even being in the same subnet.
	Let me show you a sample test I've made, with the following
scenario:

	- A CVS daemon  @ the server called cvsserverA
	- A SAMBA server and a CVS client @ a machine called cvsclientA
(which runs Linux)
	- A Windows XP client machine which will be called cvswindows
	- Doing the checkout from the machine cvsclientA, providing it
in the SAMBA, and copying to the cvswindows local folders takes LESS
time than doing the checkout directly from the cvswindows machines.
	Which means that all the process that I do using the Linux
machine (checkout, copy to the samba folder and then copy from the samba
folder to the Windows machine) is 2-3x times FASTER than using the
CVSNT.exe with TortoiseCVS from the Windows machines.

	Yes, my TortoiseCVS is the latest version with the latest
binaries distributed with it (including CVSNT)

	So, any ideas?
	
	
	Regards,
	Marcus Diniz

	On Mon, Aug 22, 2011 at 2:57 AM, Arthur Barrett
<arthur.barrett-qn/[email protected]> wrote:
	

		
		Marcus,
		 
		If you've got performance difficulties, please diagnose
and fix the performance problem, not try and work around it.  The phrase
'make it faster' is not descriptive enough for anyone to give you any
help whatsoever.  As a guide - using client/server most operations
should complete in about 1 second or often less.  Checkout of a 50Mb
sandbox should take about the same amount of time as it takes to copy
the same 50Mb worth of files from the server to the client using Samba.
		 
		
		Under extreme circumstances you may need to set up
repository replication.  Details on WAN performance and also repostiory
replication are available here:
		http://march-hare.com/cvspro/?pdf=p
		 
		I suggest you work through a diagnostic procedure with
the people responsible for both the server and client software, eg:
		 
		* is it the client that is slow or the server or the
network?  (eg: test a client/server directly on the server, test
client/server directly on the client, test the network)
		 
		* are you using the latest software on the server and
the client?
		 
		* is it a functional performance problem or a technical
performance problem
		 
		  - a functional performance problem is something like:
when I tag it takes ages, or 1000 developers come in to work at 9am and
each checkout new sandboxes - and it takes ages (yes that's a real
actual customer example of a bug report).  Functional performance
problems usually require an upgrade to a modern server (like CVSNT 2.8
or EVSCM 3.1), or a change to your workflow.
		 
		 - a technical performance problem is something like:
committing a file of 39M takes 1 hour, 1M files take 1 second; a trace
shows each command 'delays' 3 seconds before executing.  Technical
performance problems are often caused by related software (routers,
drivers, active directory, disks) or can sometimes require a patch
upgrade (eg: 2.5.03.4065)
		 
		 
		The samba protocol is not fault tolerant - so dropped
connections/packets can result in corrupt repositories, making your
version history unreadable.  The :local: protocol is for use of
CVS/CVSNT developers only.  You wouldn't share your Oracle or MySQL
database over samba, so don't try it with CVS.
		 
		Regards,
		 
		
		 
		Arthur Barrett
		 

			-----Original Message-----
			From: Marcus Diniz [mailto:[email protected]] 
			Sent: Thursday, 18 August 2011 11:23 PM
			To: tortoisecvs-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
			Subject: [TortoiseCVS] TortoiseCVS inside SAMBA
network share
			
			
			Is it a good idea to mount a SAMBA share and use
TortoiseCVS with :local: to make it faster?
			

			-- 
			Marcus Diniz

------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2

_______________________________________________
tortoisecvs-users mailing list
tortoisecvs-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/tortoisecvs-users