Suboptimal performance due to low value assigned to QoSIO operation classes
If Quality of Service for I/O (QoSIO) feature is enabled on the file system, verify whether any of the storage pools are assigned low values for other and maintenance class. Assigning low values for other and maintenance class can impact the performance when I/O is performed on that specific storage pool.
Problem identification
On the GPFS node, issue the mmlsqos <fs> command and check the other and maintenance class settings. In the sample output below, the maintenance class IOPS for datapool1 storage pool is set to 200 IOPS, and the other class IOPS for datapool2 storage pool is set to 400 IOPS. This IOPS value might be low for an environment with high performing storage subsystem.
QOS config:: enabled -- pool=*,other=inf,maintenance=inf:pool=datapool1,other=inf,maintenance=200Iops:pool=datapool2,other=400Iops,maintenance=inf
QOS values:: pool=system,other=inf,maintenance=inf:pool=datapool1,other=inf,maintenance=200Iops:pool=datapool2,other=400Iops,maintenance=inf
QOS status:: throttling active, monitoring active
Problem resolution and verification
On the GPFS node, issue the mmchqos command to change the QoS values for a storage pool in the file system. Issue the mmlsqos command to verify whether the changes are reflected in the QoS settings.
For example, if the IOPS corresponding to datapool2 other class must be set to unlimited then issue the following command.
mmchqos gpfs1b --enable pool=datapool2,other=unlimited
Issue the # mmlsqos gpfs1b command to verify whether the change is reflected.
QOS config:: enabled -- pool=*,other=inf,maintenance=inf:pool=datapool1,other=inf,maintenance=200Iops:pool=datapool2,other=inf,maintenance=inf
QOS values:: pool=system,other=inf,maintenance=inf:pool=datapool1,other=inf,maintenance=200Iops:pool=datapool2,other=inf,maintenance=inf
QOS status:: throttling active, monitoring active