IBM Support

Compact performance affected by file caching system

Technote (FAQ)


Domino® utilizes extensive caching in order to optimize speed for database-related operations. At varying intervals, Domino will force these caches to be written to disk. This ensures that the data is available in a protected location, and allows for database repair in case of a system failure.

Domino is designed to scale the file system cache proportionally based on available system memory. As a result, machines with larger memory profiles will have larger caches. All read and write activity to in-use databases are stored in the cache. When the command to flush this cache to disk is received, the server must track all open file buffers associated with a database, trace the data in the cache, and then write that data out to disk. The larger the portion of the file in cache, the more buffers must be checked.

Compact is a Domino operation that requires a database to be read into the file cache in order for the data to be optimized. By way of example, on a Windows® Domino server one buffer is created for each 4K of data, meaning that even moderately-sized databases will have hundreds of thousands of buffers. On systems with smaller amounts of free memory, compact performs multiple cache read and write operations to pull in a small amount of a database, process the data, and write it back to disk. On systems with larger amounts of memory, larger segments of the database are read into cache before processing; when the cache flush operation is performed, the associated buffers must then be checked. This check is what can significantly impair compact's performance. While this issue affects all operating systems, reports and testing have shown that Solaris and AIX® systems can be affected to a greater degree.


This issue was reported to Quality Engineering as SPR# LBRD5TVRV.

Starting in Domino 6.5.4 Fix Pack 2 and Domino 6.5.5, there are now new options that can be used to avoid these problems.

-- Option 1: Using the "in-place" option with the compact task (-Q or -q) will prevent it from using the cache during its run. NOTE: For Domino servers running on Solaris or AIX, this procedure can be used on any database as described. Due to the design of the Windows architecture, in order for the no-cache option to be used, the database must not be open. If the -Q or -q option is run against an open database in Windows - e.g. the server's Domino Directory - then a standard compact would be performed, and the option ignored.

-- Option 2:. A new NOTES.INI parameter has been introduced to regulate file system cache behavior: DEBUG_FileSizeThreshold=[file size in MB]. This parameter mandates that any database larger than the specified size will be opened without using the file system cache. Note that this can be enabled dynamically on the Domino console, with no need to restart. While this circumvents the compact task performance issue, be aware that this parameter causes all databases above the limit to bypass the cache for all database operations. Depending on the server configuration and databases used, this may cause an impact on database read performance.

-- Option 3: A new diagnostic parameter has also been included: DEBUG_FileSyncThreshold=[time in ms]. Also a dynamic parameter, it is designed to provide information in the event troubleshooting is necessary. In general, this parameter should not be enabled unless Lotus Support requests its activation.

Once enabled, these parameters can have a marked impact on compact performance. The following chart illustrates tests performed on sample databases with compact. Note that these times are for comparison purposes only. The contents of the database and the hardware capabilities of the Domino system performing the compact can cause variations in performance.

Operating System
compact time 20MB
NEW compact time 20MB
compact time 500MB
NEW compact time 500MB
compact time 1GB
NEW compact time 1GB

These new options are designed to optimize performance by bypassing the standard caching mechanisms the server uses. There are also operating system optimizations that can improve performance by improving buffer management. To date, the main operating system to incorporate these optimizations is AIX; version 5.3 has changes to the Logical Volume Manager that increases performance and throughput on operations such as compact. The following sample statistics show the benefits of compact performance under AIX 5.3.

Operating System
AIX 5.2
AIX 5.3
compact time 7.1 GB

Document information

More support for: IBM Domino

Software version: 6.0, 6.5, 7.0, 8.0, 8.5, 9.0

Operating system(s): AIX, IBM i, Linux, Solaris, Windows, z/OS

Reference #: 1202023

Modified date: 14 November 2006

Translate this page: