Hi Johan,
We are running on solaris zone and able to run truss on the process, we see
majority of time svn spends is in reading the .svn/entries file again and again.
Why is that.
Thanks
Sal
getcwd("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST",
1024) = 0
open("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST/.svn/entries",
O_RDONLY|O_LARGEFILE) = 6
fcntl(6, F_GETFD, 0x00000000) = 0
fcntl(6, F_SETFD, 0x00000001) = 0
read(6, " 1 0\n\n d i r\n 4 5 3\n".., 80) = 80
close(6) = 0
open("/opt/projects/common_services/rjm/autsys-workspace/workspace/merge_test/MERGE_TEST/.svn/entries",
O_RDONLY|O_LARGEFILE) = 6
fcntl(6, F_GETFD, 0x00000000) = 0
fcntl(6, F_SETFD, 0x00000001) = 0
read(6, " 1 0\n\n d i r\n 4 5 3\n".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
read(6, " 2 0 c f 9 d d 6 a\n 2 0".., 4096) = 4096
read(6, " 4 1 8 8 8 8 e b 3 0 d a".., 4096) = 4096
read(6, "\n\n 8 9 7\n\f\n A S I A".., 4096) = 4096
read(6, " 1 1 . 9 1 8 7 9 9 Z\n e".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
read(6, "\n\n\n 2 0 1 0 - 0 5 - 2".., 4096) = 4096
read(6, " M _ P D S _ S E N D _ P".., 4096) = 4096
read(6, "\n 6\n c o n t r o l d e".., 4096) = 4096
read(6, " 1 0 - 0 4 - 2 2 T 0 3 :".., 4096) = 4096
read(6, "\n 2 0 1 0 - 0 5 - 2 6 T".., 4096) = 4096
read(6, " 5 : 5 0 . 0 1 2 8 9 2 Z".., 4096) = 4096
read(6, " 2 0 1 0 - 0 5 - 2 6 T 1".., 4096) = 4096
read(6, " a c 5 f c 8 0 6 2 1 7 7".., 4096) = 4096
read(6, "\n\n\n\n\n\n\n\n\n\n\n\n".., 4096) = 4096
-----Original Message-----
From: Johan Corveleyn [mailto:[email protected]]
Sent: Wednesday, May 26, 2010 1:57 PM
To: Liu, Xiaodu "Louie"
Cc: [email protected]; Kadam, Shailesh
Subject: Re: SVN merge issue in Solaris
On Wed, May 26, 2010 at 9:20 PM, Liu, Xiaodu "Louie"
<[email protected]> wrote:
> We have the svn merge performance issue on Solaris. For a given repo,
> if we do svn merge on windows box, it takes about 35 seconds, but same
> merge will take about 6 minutes.
>
> Both svn version 1.6.6 and 1.6.11 clients are tested with the same issues.
There could be lots of differences between both (client) systems. If network
connectivity to the repository is the same, I would take a look at the
filesystem where the working copy is stored (where you are merging into). For
instance, if your working copy on the Solaris box is on a remote filesystem
mounted via NFS, or Samba, compared to the Windows box having its working copy
on a fast local drive, that could explain the difference.
Keep in mind that Subversion stores its working-copy metadata currently in lots
of little files in lots of .svn subdirectories in every directory. Some svn
operations are therefor very heavy on I/O.
E.g. for most operations (merge, update, commit, ...) the working copy needs to
be locked, and after the operation unlocked. This is done by putting (and
removing) little lock files in all those .svn directories.
SVN's next release (1.7, slated for release late summer) will be much better in
this area, because its metadata will be centralized in one single database at
the root of the working copy.
Cheers,
--
Johan
**********************************************************************
E-mail sent through the Internet is not secure. Western Asset
therefore recommends that you do not send any confidential or
sensitive information to us via electronic mail, including social
security numbers, account numbers, or personal identification
numbers. Delivery, and or timely delivery of Internet mail is not
guaranteed. Western Asset therefore recommends that you do not send
time sensitive or action-oriented messages to us via electronic
mail.
**********************************************************************