Will disabling stored diff info help improve FishEye performance for this huge repository?

I have an extremely large Subversion repository being indexed in FishEye. It's a few million lines of almost 20 year old code that is heavily branched. Since SVN branching doesn't do client-side diffs, rather they're full copies (at least for our version), it means the FishEye index is huge (~10GB) for this repository.

To make things wose, our FishEye instance is running on a virtualised platform with particularly slow disk I/O, so loading up a file that's been edited a bit over the years can take 10 minutes in some cases.

I've just read the diff info documentation and am now wondering if disabling diff info will help speed up this repository.

In what cases will the repository be faster? What sacrifices will we be making if I switch it over? e.g. can we still load up HEAD code quickly, even for branches? will we suffer worse performance (since it's a remote SVN over HTTPS server) on anything in particular?

1 answer

1 accepted

2 votes
Answer accepted

Hi Mark,

When you disable diff info FishEye will no longer index or store diffs. This will have a couple of benefits:

  • Speed up indexing; FishEye won't have to retrieve and index all diffs.
  • Reduce disk footprint. The diff index files can become quite large, so disabling diffs can lead to significant savings.

But you will lose the ability to do diff searches (search for revisions in which a particular line of code was added/removed). You will still be able to do full-text (content) search on the HEAD code.

Disabling diff info should not directly impact the performance of visiting the file history page, or getting the file content of a file. You may get some indirect performance benefits, but it's hard to tell whether they will be significant:

  • Disabling diff indexing will reduce disk I/O, particularly write operations. If disk I/O is a performance bottleneck, disabling diff indexing could help.
  • Disabling diff indexing will reduce the load on your SVN server during indexing, but I think you'll only notice the difference if you've got a lot of commit activity going on.

Hope this helps.



Suggest an answer

Log in or Sign up to answer
Community showcase
Published Mar 14, 2019 in Bitbucket Pipelines

Building a Bitbucket Pipe as a casual coder

...ipe.sh :  #!/bin/bash source "$(dirname "$0")/common.sh" enable_debug extra_args="" if [[ "${DEBUG}" == "true" ]]; then extra_args="--verbose" fi # mandatory variables R...

265 views 0 12
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you