I've noticed over the last couple of days that periodically, my
svn server gets really slow. The cause seems to be a few svnserve
processes that have no remaining open network sockets, but are still
sucking up CPU cycles. These processes do seem to go away eventually
(after tens of minutes at least), but I usually get impatient and kill
them. :) I haven't yet been able to discover what client command is
associated with the creation of these processes.
I used strace to see what one of them is doing, and it's just
the following pattern of four lines repeating over and over:
open("/srv/svn/repos/db/revs/85073", O_RDONLY|O_LARGEFILE) = 3
_llseek(3, 108568, [108568], SEEK_SET) = 0
read(3, "id: 42-85073.0-84152.r85073/1085"..., 4096) = 4096
close(3) = 0
Piping the strace output through 'grep revs | cut -d \" -f 2 |
cut -d / -f 7 | sort | uniq -c', I can see that it's looking at the
same revisions over and over again:
1 74401
6 84499
2 84556
8 85054
2 85055
3 85058
2 85061
7 85073
3 85093
41 85102
29 85119
42 85124
2 85171
9 85172
8 85174
11 85176
20 85177
15 85178
17 85184
7 85185
17 85188
7 85195
31 85197
2 85202
11 85203
I have no intimate knowledge of the FSFS implementation, but
this pattern did bring to mind
http://svn.collab.net/repos/svn/trunk/notes/skip-deltas, which I read a
while back and only half understood. Does anyone have any ideas about
what might be causing this? If more diagnostic information would be
helpful, just let me know how to gather it.
# svnserve --version
svnserve, version 1.5.2 (r32768)
compiled Sep 3 2008, 07:53:16
Copyright (C) 2000-2008 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_fs : Module for working with a plain file (FSFS) repository.
I'm not subscribed to the dev list, so please CC me on replies.
Thanks for any help!
Matt McHenry
412-690-2442 x150
Software Developer
Carnegie Learning, Inc.
Learning By Doing (r)
Helping over 500,000 students in 2,600 schools to succeed in math.
http://www.carnegielearning.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=979838
Received on 2008-12-04 22:43:06 CET