Location of db.* files, journal, and depot files

We recommend separate filesystems for each of the following: db.* files, journal, and archive files.

  db.* files

Journal file

Depot files

Drive

 

For I/O requests that must be satisfied from beyond the filesystem cache, we recommend that:

  • The storage subsystem containing the db.* files have a memory cache, and that it be maximized.
  • Write-back caching be enabled, which requires that the storage subsystem’s memory have battery backup power.
  • I/O latency to the logical drive where the db.* files are located should be minimized. This might require direct connections between the host and the storage subsystem, and usually requires SSD or drives with the fastest rotational speed (such as 15K RPM).

Tip

Concerning solid state drives (SSDs), see "Disk Performance" in the Perforce Knowledge Base article, Recommended Server Hardware Configurations.

For recoverability, the live journal should not be on the same physical device that contains the db.* files. Separating the live journal and the db.* files also improves performance. During operations that write to the db.* files, entries are written to the live journal as records are written to the db.* files. If the live journal and the db.* files are on the same physical device, the I/O throughput to the db.* files is degraded.

For best performance, the live journal should be on a:

  • separate storage subsystem connected to a separate host adapter
  • a logical drive and filesystem that is optimized for sequential writes.

 

 

The depot files should be located on a logical drive that is separate from:

  • the drive where the db.* files are located
  • the drive where the live journal is located.

For best performance, the logical drive where the depot files are located should be on a separate storage subsystem connected to a separate host adapter.

Optimization

The db.* files need to be on a filesystem optimized for fast random read and write performance.

The live journal needs to be on a filesystem optimized for fast sequential write performance.

 

RAID

RAID 1+0 (or RAID 10) is recommended for the logical drive where the db.* files are located. Generally, p4d performance improves as the number of physical drives in the logical drive increases. For a given amount of disk space required, better performance might result from using more smaller-capacity physical drives. The optimal stripe size might depend upon the number of physical drives in the logical drive.

Hardware-based RAID implementations usually have good performance characteristics. Software-based RAID implementations can require CPU cycles that could otherwise be used for p4d processes.

 

The depot files require more disk space than the db.* files. The I/O throughput for depot files is not as critical as for the db.* files. Therefore, consider using an economical RAID configuration, such as RAID 5.