⬆️ ⬇️

QoS implementation in Qsan storage

Technology QoS (Quality of Service) in the network infrastructure is known for a long time. Later, similar algorithms were used in the field of data storage, becoming the de facto standard for systems that pretend to the Enterprise market. In Qsan storage , this functionality became available relatively recently with the advent of firmware version 1.4.0.





The very idea of ​​setting priorities for different tasks (namely, this is the essence of the work of QoS algorithms) comes from equal access to resources by the hosts. If the overall performance of the storage system is sufficient, then infrequent bursts of activity of certain services can be compensated for by reduced performance requirements from other applications. However, in real life, several critical performance services are often located on the same storage system. If you rely on their equal access to resources, then at least one of them can be “braked” due to the work of other applications.



In addition to productive applications that are critical to performance indicators, developers' test environments can also be located on the storage system, which should also be limited in performance so as not to interfere with basic work. Plus, there are always planned and unscheduled work on systems maintenance, which also require certain resources, taking them away from the main services. Therefore, the ranking of applications located on the storage system, in accordance with their priority of access to resources in terms of performance will be very useful.



From the point of view of QoS settings, there are two main policies:





For the operation of QoS, one of them is chosen. If necessary, you can always switch settings on the fly. The QoS policies themselves are applied to individual volumes.



IOPS and throughput parameters are used as maximum values. The default value is Unlimited. In the case of setting specific values, performance will be limited to these numbers.





If you use the "bottom" limit, you must set the priority of access to resources: low, medium or high. In the case of high priority, you can also set the minimum desired value for the Response Time parameter. This parameter is not for nothing designated as desired, since it is far from always possible to achieve it due to the configuration of the drives used and the current load on the system.





Checking in



As a test bench, one server was used, connected directly to the XS5224 storage system via the Fiber Channel interface. The storage was filled with NL-SAS 7.2K disks assembled into 3 RAID-0 pools. On each of the pools was created one volume, a total of 3 volumes. The load was the IOmeter test.



Using priority access to resources



QoS settings

Test results



It is clearly seen that when the priority changes, the performance is redistributed in the appropriate order.



Using priority access to resources with the desired access time



QoS settings

Test results



When priority changes, performance is redistributed in the appropriate order. For Vol-1 volume, the Response Time value tends to the specified 25ms, but does not reach it due to the lack of performance of the RAID group.



Using IOPS Restriction



QoS settings

Test results

')

When performance is limited in IOPS for some volumes, the remaining volumes receive an increase in speed due to the resources released.



Using bandwidth limits



QoS settings

Test results



When capacity is limited in terms of throughput, the performance of individual volumes also increases due to the freed up resources.



QoS functionality in Qsan storage is one of the key tools to increase performance by balancing and setting priorities. As the tests showed, the algorithms work quite predictably. It is also important to note that the QoS functionality is absolutely free. And it can be used not only in new systems, but also in storage systems that have been in use for a long time by updating the firmware.

Source: https://habr.com/ru/post/456370/



All Articles