Documentation for FishEye 3.0.x. Documentation for other versions is available too.

Recommendations for SVN integration

SVN Client
Connection Protocol
  • The http/s protocol has the slowest performance during the initial scan. The svn protocol (svn://) is faster and the file protocol (file:///) is the fastest. 
    Therefore if you find your initial scan takes an extended amount of time (more than a day or two), you should consider switching over from the http/s protocol to the svn or file protocol to define the location of your SVN repository. (Use svnsync to mirror the repository onto the fisheye server, so that you can access it with the file protocol.). In order for SVN protocol to work you need to have set up an svnserve based server.
SVN Branch/Tag Structure
  • Ensure the SVN branch and tag structure has been selected correctly in Fisheye repository configuration. If FishEye does not know which files are tags and branches, it will treat all files as trunk files. This can significantly increase the effective size of your repository and the initial scan time as well as impact runtime performance. Please refer to this guide for verifying SVN symbolic rules.

Fisheye Index Structure
  • Fisheye is a caching application. It caches all the repository information. Therefore, big repositories do take time to be indexed.

    This index/repository cache is stored in the var directory defined in the FishEye configuration, under a subdirectory named var/cache/name of the repository. For example, the indexes for the repository FE are under var/cache/FE, with one subdirectory for each index:

    • Metadata index is stored in var/cache/FE/idx0
    • Content index is stored in var/cache/FE/idx1
    • DiffText index is stored in var/cache/FE/idx2
Limit Indexing Scope
  • You can limit the repository content that Fisheye will index by either:
    • Setting a start revision to start indexing from a particular revision.
    • Exclude certain file types/paths that are not required to be indexed.
    • Turn OFF the store-diff info property. Some of the benefits are:
      • 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.
      • Reduce disk I/O, particularly write operations. If disk I/O is a performance bottleneck, disabling diff indexing could help.
      • Reduce the load on your SVN server during indexing, but you'll only notice the difference if you've got a lot of commit activity going on.
Indexing Thread Configuration

       Fisheye uses one thread each for incremental and initial indexing for each repository. 3 is a recommended thread count. Having more number of threads configured will add extra overhead on server when indexing and negatively impact performance.

Further Reading
  • No labels