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