The QoS feature can control the performance for processing storage devices based on the upper limit, lower limit, and priority for the services that issued I/O requests. The following table lists and describes the use cases and provides the suitable control methods and guidelines for individual use cases.
| Use case example | Description | Control for volume or QoS group | Control setting | Reference |
|---|---|---|---|---|
| Use case 1 | Restricting the I/O processing performance for a specific service to a certain level or lower. | Volume | Upper-limit control | Preparing for unexpected massive I/O requests |
| Restricting the I/O processing performance for a tenant that handles multiple services to a certain level or lower. | QoS group | Upper-limit control | Preparing for unexpected massive I/O requests | |
| Use case 2 | Suppressing influences on other services when unexpected massive I/O requests are issued to a specific service. | Volume | Upper-limit control | Preparing for unexpected massive I/O requests |
| Suppressing influences on other services when unexpected massive I/O requests are issued by a tenant that handles multiple services. | QoS group | Upper-limit control | Preparing for unexpected massive I/O requests | |
| Use case 3 | Providing the available I/O rate as the total of the upper limits for a tenant that handles multiple services. | QoS group | Upper-limit control | Preparing for unexpected massive I/O requests |
| Use case 4 | Securing a certain level of the I/O processing performance for a specific service. | Volume | Lower-limit control | Securing a certain level of I/O processing performance |
| Use case 5 | Setting relative priority levels for individual services. | Volume | QoS priority control | Setting relative priority for individual services |
| Setting relative priority level for a tenant that handles multiple services. | QoS group | QoS priority control | Setting relative priority for individual services | |
| Use case 6* |
|
QoS group | Upper-limit control | Preparing for unexpected massive I/O requests |
| Volume | ||||
| Use case 7* | Securing a minimum value of the I/O processing performance for a specific service (specific volume) while restricting the I/O processing performance for individual tenants (QoS groups) that handle multiple services to a certain level. | QoS group | Upper-limit control | Preparing for unexpected massive I/O requests |
| Volume | Lower-limit control | Securing a certain level of I/O processing performance | ||
| Use case 8* | Setting relative priorities among services (volumes) in individual tenants while setting relative priorities among tenants (QoS groups) that handle multiple services. | QoS group | QoS priority control | Setting relative priority for individual services |
| Volume | ||||
| * See Notes for Use Cases below. | ||||
Notes for Use Cases
Use case 6
The I/O processing continues until the total of the I/O requests issued to individual volumes reaches the upper limit set for the QoS group. However, the I/O processing that exceeds the upper limit set for a specific volume is suppressed. Make sure to set the upper limit so that the total of the upper limits for individual volumes in the QoS group does not exceed the upper limit for the QoS group. If the I/O processing performance differs from the expected value, verify both the upper limits set for the QoS group and individual volumes in the QoS group.
Use case 7
The lower limits set for individual volumes in the QoS group are secured within the upper limit set for the QoS group. If the lower limits are set for individual volumes in the QoS group, the I/O processing that exceeds the total of lower limits is performed. Make sure to set the upper limit for the QoS group so that it exceeds the total of the lower limits for the volumes.
Use case 8
The I/O processing is controlled so that the average response time for individual volumes in the QoS group does not exceed the target response time with the priority level that is set for the QoS group. In addition, the I/O processing is controlled so that the average response time for a specific volume does not exceed the target response time with the priority level that is set for the specific volume.
If QoS group#0 has enough I/O processing capacity, the I/O requests might be allocated to a different QoS group that is not QoS group#0 by suppressing the response from QoS group#0.
Setting a high priority level (target response time of 1 ms) for a QoS group controls the I/O processing on all volumes in the QoS group so that the average response time for the QoS group is less than 1 ms.