Defragmenting the internal database for improved performance

As HCL Traveler installations become larger and run for extended periods of time, the internal database will grow in size. This can affect system performance. You can defragment the database to compact and optimize its performance.

The defragmentation feature can only be run at startup using the steps outlined below. As of HCL Traveler and later releases, the defrag command will run automatically as part of database migration resulting from a server upgrade. Run the defrag command approximately once a month for optimal system health.

What is the HCL Traveler internal database?

HCL Traveler maintains state information about each device in a Derby relational database. This information includes device information, device security and data that allows the HCL Traveler server to know if a device needs to sync. This database's files are stored on the HCL Traveler system in the data\traveler\ntsdb directory. You can check the size of the folder and monitor changes as one way to determine how often to run the defrag command.
Important: Do not delete the ntsdb folder on the system. Deleting the state information forces all users to resync their data, and you will lose all security information (such as devices that have been denied access or wiped and any documents that have been banned from syncing).

Performing defragmentation

To run a defragmentation, perform the following procedure:
  1. Shutdown the HCL Traveler and the Domino® HTTP tasks on the server.
    tell traveler quit
    tell http quit
  2. Ensure both the HTTP and Traveler processes are completely stopped.
  3. Start HCL Traveler using the defrag parameter
    load traveler -defrag
  4. The defrag command runs as the server starts. The server normally starts once the defrag operation completes.
    Note: The defragmentation operation may take more than 30 minutes to complete depending on database size and system capabilities.
  5. If the Domino® HTTP task is not started automatically by HCL Traveler, then start it manually using the following command.
    load http

Running defragmentation on a scheduled basis ( and later)

To perform defragmentation on a secheduled basis, perform the following procedure:
  1. Use the tell command DBMaint set interval in order to set the interval to a number greater than 0. For example, to set an interval of 30 days, enter into the console:
    tell traveler dbmaint set interval 30
  2. Use the tell command DBMaint set auto on to turn on automatic defragmentation.
  3. To force a defragmentation, enter the command tell traveler dbmaint run. This sets NTS_DEFRAG_ONCE to 1 and the Derby database will be defragmented the next time the HCL Traveler server restarts.