Skip to main content
Documentation & User Guides | Fotoware

How Index Manager caching mechanisms work

How the cache works

The cache that Index Manager keeps contains thumbnails and previews for the pictures and document types it supports.

All assets that are served to clients (FotoStation, FotoWeb or third-party integration clients) have to be cached first. Since on-demand caching is time-consuming, Index Manager does cache warming, meaning that it caches assets in the document folders when initializing an index and continually adds new assets to the cache as they arrive in the document folders.

The size of the cache per index can be configured in the Index Manager service options. This controls the maximum size of the cache folder of each index, meaning that if the cache runs full, cache warming will stop. This will be noted in Index Manager's service log. When cache warming stops, if a user requests a thumbnail or preview of an asset that is not yet cached, that asset will be cached on demand. Obviously this will affect performance negatively, so if your log reports that cache warming stops because the cache limit is reached, you should consider upping the maximum allowed cache size per index.

As a side effect, you may discover that the actual size of the cache folder exceeds the maximum size that you've set. That's because the assets that are cached on demand will add to the size already allocated by the cache warming.

When the index is optimized (defragmented) the oldest cached items (based on access date) are deleted to free up space for cache warming when the service restarts after optimization. The cache size is reduced to 56-80% of the max set size per index, depending on what type of items are in the cache.

You can set an optimization schedule in the service options to control when this kicks in - by default it runs every night at midnight.

Cache disk performance

Index Manager's performance is highly I/O sensitive. Hence, the storage you choose for the cache and the indexes should be the fastest local drive available on your system. You should also make sure not to use a disk that is close to running full, since this will increase fragmentation and have an adverse effect on system performance.

For true state-of-the-art performance you may consider storing the cache and indexes on a server SSD drive. A drive that supports TRIM is preferable to increase the longevity of the drive.