Quality of Service

In this topic:

Quality of Service settings

Setting I/O limits

Also see:

Host Groups

Charge Back

Quality of Service Settings

Quality of Service (QoS) is the management of I/O traffic in order to meet the demands of different applications or to limit utilization by restricting the amount of I/O operations (combined reads and writes) and data transferred (throughput of those combined reads and writes) for host groups and virtual disk groups. Virtual disk groups include snapshot groups and rollback groups.

By default, these groups have no limits on the number of I/O operations per second (I/Ops) or the amount of data that can be transferred per second. In situations where the available throughput resources are sufficient to meet the demands of all groups, there is no need to change the default settings.

Management of I/O traffic is accomplished by restricting the throughput resources of the end-to-end connections used by the host groups and virtual disk groups. Reads and writes are throttled in the order that they are received. When available resources are over-subscribed or multiple host groups are competing for throughput priority, the QoS settings can be changed to restrict throughput resources; namely the combined amount of read and write operations per second and the amount of that data being transferred per second. Restricting throughput for non-critical groups allows critical groups to access storage whenever necessary.

Limiting I/O operations per second is useful for groups that issue many small data transfer operations — commonly referred to as transaction-oriented applications. Limiting the amount of data transferred per second is useful for groups that issue fewer but large data transfer operations, commonly referred to as throughput-based applications. Some common examples of the extreme of these cases are database applications which are transactions-oriented and back-up applications which are throughput-oriented.

Setting I/O Limits

  • Quality of service settings for a host group reflect the maximum number (data transferred or I/O operations) that can flow between the given set of hosts in a host group and a particular DataCore Server.

    For instance, if there are six hosts in a host group accessing one DataCore Server and the maximum number is set to 30 KB per second, then all hosts together accessing the DataCore Server cannot exceed 30 KB per second. For the same setting, if there is one host in the host group accessing six DataCore Servers, that host cannot exceed 30 KB per second accessing each DataCore Server (for a possible total of 6 x 30 KB).

  • Quality of service settings for a virtual disk group reflect the maximum number (data transferred or I/O operations) that can flow between the given set of virtual disks in a virtual disk group (including snapshot groups and rollback groups in the virtual disk group) and the hosts to which they are served. QoS settings also affect VVOL virtual disks in the group.
  • The same virtual disk can be served to multiple hosts in different host groups, so that different sets of restrictions can be in effect. If a virtual disk is in a virtual disk group and is served to a host group, the lower limit will effectively be set on the virtual disk. For example, if there is a host group restriction of 15 MB per second and a virtual disk group restriction of 10 MB per second, the virtual disk will be set to a limit of 10 MB per second.
  • Virtual disks in each group share the group restriction. For example, if there are two virtual disks in the same virtual disk group, both virtual disks will share the restriction of that virtual disk group. The sum of the I/Os for all virtual disks in the group cannot exceed the amount of the restriction. The amount allocated to each virtual disk in the group depends on the performance of the backend; virtual disks from fast pools will receive more I/O allocation than virtual disks from slower pools.
  • Snapshot and rollback groups from the virtual disk groups can be restricted as well. In this case, when a snapshot or rollback group is served to a host, the snapshot or rollback group will be restricted by the strictest value of either the associated virtual disk group restriction or the snapshot or rollback restriction. For example, if the virtual disk group restriction is 20 KB per second and the snapshot group restriction is 30 KB per second, the strictest value of 20 KB per second would be imposed on the snapshot group. Snapshots and rollbacks also share their group restriction with members of the group in the same manner as virtual disks share their group restriction (see above note).
  • Mirror I/Os are not counted in either the data transferred or I/O operations setting.
  • Mirrored or dual virtual disks can double the effective limit because there are two DataCore Servers sharing the virtual disk and limits are imposed on each server. For example, if a virtual disk group has a restriction of 50 MB per second and the group contains all mirrored virtual disks, the group could achieve 100 MB per second; 50 MB for each DataCore Server. (Provided that the virtual disk data can be driven concurrently to each server, such as in a round-robin configuration.) This also applies to IO per second.
  • QoS is not available for VMware hosts discovered through the VMware vCenter Integration feature.

To set I/O limits for the host group:

  1. In the Hosts panel or Hosts list, right-click on the host group and select View Details to open the Host Details page
  2. In the Host Details page>Settings tab, refer to the Quality of Service area.
  3. To limit the amount of data transferred:
    1. Select the Restrict data transfer rate check box to enable.
    2. Enter the maximum amount of data to transfer per second (KB, MB, GB) between the host group and a particular DataCore Server.

      This setting restricts the amount of data being transferred per second for the host group. The setting can range from 1 KB to 3 GB. For instance, entering 100 KB would transfer 100 X 1024 = 102,400 bytes per second; entering 100

  4. To limit the amount of I/O operations:
    1. Select the Restrict I/O rate check box to enable.
    2. Enter the maximum number of I/O operations to allow per second (I/Ops) between the host group and a particular. This setting restricts the number of reads/writes per second for the host group. The setting can range from 1 to 2,147,483,647.
  5. Click Apply.

To set I/O limits for the virtual disk group, snapshot group, or rollback group:

  1. In the DataCore Servers panel or Virtual Disks list, right-click on the group and select View Details to open the details page.
  2. In the Settings tab, refer to the Quality of Service area.
  3. To limit the amount of data transferred:
    1. Select the Restrict data transfer rate check box to enable.
    2. Enter the maximum amount of data to transfer per second (KB, MB, GB) for the group. The settings can range from 1 KB to 3 GB.

      For instance, entering 100 KB would transfer 100 X 1024 = 102,400 bytes per second; entering 100

  4. To limit the amount of I/O operations:
    1. Select the Restrict I/O rate check box to enable.
    2. Enter the maximum number of I/O operations to allow per second (I/Ops) between all objects in the group and their hosts. This setting restricts the total number of reads/writes per second for all objects in the group. The setting can range from 1 to 2,147,483,647.
  5. Click Apply.

Removing I/O Limits

To remove I/O limits:

  1. Open the details page for the appropriate group and click on the Settings tab.
  2. In the Quality of Service area, clear the appropriate check boxes.
  3. Click Apply.