How can I speed up SVN updates?

2020-05-17 04:28发布

We have a rather large SVN repository. Doing SVN updates are taking longer and longer the more we add code. We added svn:externals to folders that were repeated in some projects like the FCKeditor on various websites. This helped, but not that much.

What is the best way to reduce update time and boost SVN speed?

12条回答
啃猪蹄的小仙女
2楼-- · 2020-05-17 04:56

Not really an answer, but it may be interesting to know that one of the reasons svn is so I/O-heavy is the fact that it stores one extra copy of each file in the .svn/text-base directory. This makes local diff operations fast, but eats lot's of harddisk space and I/O.

http://subversion.tigris.org/issues/show_bug.cgi?id=525 has the details.

查看更多
叼着烟拽天下
3楼-- · 2020-05-17 04:56

There are some common performance tweaks. SVN is very I/O heavy, so faster hard disks are an option (on both ends). Add more memory to your server. Make sure your clients have a defragmented hard disk (for Windows).

What access method you use also matters. Repositories stored on remote filesystems (using file:/// access) are going to be much slower than either svnserve or Apache with mod_svn. Consider using one of the latter if you have the repository on a simple file share.

查看更多
Rolldiameter
4楼-- · 2020-05-17 05:00

I've found in my own experience (ie: not through any actual tests) that, especially if the SVN repo server is remote, using externals seems to slow things down. If you've got duplicated code (like your FCK editor) in multiple places, I would tend to stick to using externals since keeping those files synchronised and manageable is more important than update speeds - though, you could look at using symbolic links to bring in duplicated code instead. (If you're using Windows XP, you can use junction points).

查看更多
你好瞎i
5楼-- · 2020-05-17 05:01

TotoiseSVN by default looks at file changes in the background and I have seen that slow down my machine. I changed the config to exclude everything and then only include the directories where I have checkouts. You can also turn off the background checks. Both of these settings are in the Icon Overlays settings node.

查看更多
劫难
6楼-- · 2020-05-17 05:04

Sounds like you've got multiple projects in one repository. Splitting them up where appropriate will give you a big boost.

Supposedly Git is much faster than Subversion due to the way it stores/processes changes, but I have no first-hand experience with it.

查看更多
\"骚年 ilove
7楼-- · 2020-05-17 05:09

Disable virus checking on folders that contain working copy code. This caused my updates to become twice as fast.

查看更多
登录 后发表回答