Understanding how Fisheye indexes repositories
Fisheye's administration interface allows you to configure the number of threads used for repository indexing.
Fisheye uses two types of indexing operation:
- Initial indexing - the complete scan of the repository that is performed when Fisheye first accesses the repository, and
- Incremental indexing - the quick, background process that regularly scans repositories for changes.
Configuring the number of indexing threads
To configure the number of threads Fisheye uses for indexing:
- Go to the Fisheye admin area and click Server (under 'Global Settings').
- Click Edit Details (under 'Resource Limits'). You can change the number of threads available for each type of indexing operation.
Screenshot: Fisheye multi-threading configuration
Choosing a thread setting
Changing the number of threads always involves a trade-off in performance; you should generally change these settings in increments of one, then observe the performance impact. A safe range is from 1-3 threads on both settings. Using more than three threads on either setting is not recommended; the more threads, the busier the server will become when indexing. There is certainly no benefit in having more threads than you have repositories. Adding a lot of threads may impact overall system performance.
By default, Fisheye uses one thread each for the two indexing types.
Note that decreasing the number of indexing threads does not have an effect until any current scanning ends. To force this effect immediately, perhaps because of a performance issue, a Fisheye restart is needed.