Skip to main content

IO profiles

You can optimize the performance of your Portworx volumes by matching the type of workload you're running with a suitable IO profile. IO profiles change the how a Portworx volume interacts with the underlying storage disks to improve traffic for different workloads. If you don't provide an IO profile, Portworx will use the IO profile specified by the default-io-profile setting in the cluster. During Portworx spec generation, the default-io-profile option in the StorageCluster spec is set to auto by default. To change the default IO profile after installing Portworx, see the Change the default IO profile using pxctl section.

Understand the different IO profiles

The following are various types of IO profiles you can configure using the default-io-profile option:

  • auto
  • db_remote
  • none

The auto profile

This profile automatically applies an IO profile that based on configuration details it sees, and switches between none and db_remote. Portworx chooses db_remote when a volume's replication factor is greater than or equal to 2, otherwise, it defaults to none.

The db_remote profile

This implements a write-back flush coalescing algorithm. This algorithm attempts to coalesce multiple syncs that occur within a 100 ms window into a single sync. Coalesced syncs are acknowledged only after they have been copied to memory on all replicas. In order to do this, the algorithm requires a minimum replication (HA factor) of 2. This mode assumes all replicas do not fail simultaneously in a 100 ms window.

  • If there are not enough nodes online, Portworx will automatically disable this algorithm.
  • The db_remote profile only applies if you have a repl count of 2 or more.

The none profile

This profile indicates that no IO profile optimizations are being done for the volume.

Deprecated IO profiles

The following profiles are deprecated in the newer versions of Portworx.

The db profile

Databases typically result in a large number of flush operations on the disk. Because a flush forces Portworx to wait until the data is synched on the disk, it can slow down traffic. When the db profile is active, Portworx batches flush operations for a quicker write response time.


Legacy volumes will still show up as having db profile but internally they will be treated as auto profile volumes.

The sequential profile

This profile optimizes the read-ahead algorithm for sequential workloads, such as backup operations.


Legacy volumes will still show up as having sequential profile but internally they will be treated as auto profile volumes.

Configure profiles

You can configure IO profiles through Kubernetes specs or at the Portworx level, depending on your needs and what operator you're running with.

For information about how to configure IO profiles for volumes on Kubernetes clusters, follow this link:

Configure IO profiles for Portworx volumes on Kubernetes

For information about how to configure IO profiles from volumes using pxctl, follow this link:

Configure IO profiles from volumes using pxctl
Was this page helpful?